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