您好,登錄后才能下訂單哦!
注意:在Xamarin.Forms 2.3.5-pre3發布版,我們將類名Accessibility變更為AutomationProperties。
iOS、Android和Windows都公開了開發人員為每個人構建可訪問的移動應用程序的API。 我們很高興地宣布,我們已經添加了新的API訪問Xamarin.Forms,使它更容易為開發人員構建訪問,跨平臺移動應用。在這篇文章中,我們將在新的API添加到Xamarin.Forms,使它容易建立訪問的移動應用。
Xamarin.Forms 2.3.5提供與提示相關的可訪問性API的基本集。包含以下內容:
AutomationProperties.Hint
AutomationProperties.IsInAccessibleTree
AutomationProperties.LabeledBy
AutomationProperties.Name
通過定義這些屬性,我們可以利用iOS和Android中的底層可訪問×××,比如 VoiceOver。
挖掘這些新API如何工作的最簡單方法是使用真實世界的示例。我們制作一個LoginPage, 它源自 Xamarin Evolve 2016 移動應用 并且使用Xamarin.Forms中的新APIs可訪問。在這個布局中,我們有可用的Xamarin.Forms 元素,就像 Entry 和utton。在Xamarin.Forms 2.3.5之前, 我們會利用平臺效應或自定義渲染器利用訪問API。使用新APIs,我們只需要添加一些屬性,我們的移動應用程序就可以訪問了:
點擊(此處)折疊或打開
<toolkit:EntryLine
Text="{Binding Email}"
Keyboard="Email"
HorizontalOptions="FillAndExpand"
Placeholder="email address"
x:Name="EntryEmail"
StyleId="EmailTextField"
IsEnabled="{Binding IsNotBusy}"
BorderColor="#ECECEC"
AutomationProperties.Hint="Enter your email here"
AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.Name="Email entry field">
<toolkit:EntryLine.HorizontalTextAlignment>
<OnPlatform x:TypeArguments="TextAlignment" iOS="Center"/>
</toolkit:EntryLine.HorizontalTextAlignment>
</toolkit:EntryLine>
在具有可訪問×××的物理設備上運行代碼,對用戶而言,將提供AutomationProperties.Hint的值。在iOS這是VoiceOver;在Android,是一些控制,其中包括Button,不幸的是,不要因為Android本身的原因而正確地行為,通過一個像Slider這樣的控件,我們讀取獲取Hint和Name值的組合。
在iOS中啟用VoiceOver,導向到Settings -> General -> Accessibility -> VoiceOver。在Android中,安裝 TalkBack 它很可能已經安裝在設備上,并且可以在 Settings -> Accessibility -> Vision訪問。Windows用戶可以在設置選項的方便下啟用解說器。
記住,你需要有Xamarin.Forms 2.3.5,并在所有工程中使用Xamarin.Forms,包括你的iOS 和Android項目。注意AutomationProperties屬性可能是不可感知的,因為它是附加屬性。
正如您已經看到的,上面的例子,僅增加四屬性在XAML添加提示我控制我的手機應用程序驅動的可訪問性。 我們鼓勵您將這些新API添加到Xamarin.Forms 2.3.5來做一個嘗試,讓我們知道你的想法!您可以在每個平臺的網站上閱讀更多關于可訪問性特性的信息。 (iOS, Android, Windows)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。