1. 程式人生 > >讓你的Xamarin.Forms應用程序訪問

讓你的Xamarin.Forms應用程序訪問

xamarin android

註意:在Xamarin.Forms 2.3.5-pre3發布版,我們將類名Accessibility變更為AutomationProperties。

iOS、Android和Windows都公開了開發人員為每個人構建可訪問的移動應用程序的API。 我們很高興地宣布,我們已經添加了新的API訪問Xamarin.Forms,使它更容易為開發人員構建訪問,跨平臺移動應用。在這篇文章中,我們將在新的API添加到Xamarin.Forms,使它容易建立訪問的移動應用。

Xamarin.Forms中的AutomationProperties APIs

Xamarin.Forms 2.3.5提供與提示相關的可訪問性API的基本集。包含以下內容:

  • AutomationProperties.Hint

  • AutomationProperties.IsInAccessibleTree

  • AutomationProperties.LabeledBy

  • AutomationProperties.Name

通過定義這些屬性,我們可以利用iOS和Android中的底層可訪問性功能,比如 VoiceOver。

Making the Xamarin Evolve 2016 App Accessible

挖掘這些新API如何工作的最簡單方法是使用真實世界的示例。我們制作一個LoginPage, 它源自 Xamarin Evolve 2016 移動應用 並且使用Xamarin.Forms中的新APIs可訪問。在這個布局中,我們有可用的Xamarin.Forms 元素,就像 Entry 和utton。在Xamarin.Forms 2.3.5之前, 我們會利用平臺效應或自定義渲染器利用訪問API。使用新APIs,我們只需要添加一些屬性,我們的移動應用程序就可以訪問了:

點擊(此處)折疊或打開

  1. <

    toolkit:EntryLine

  2. Text="{Binding Email}"

  3. Keyboard="Email"

  4. HorizontalOptions="FillAndExpand"

  5. Placeholder="email address"

  6. x:Name="EntryEmail"

  7. StyleId="EmailTextField"

  8. IsEnabled="{Binding IsNotBusy}"

  9. BorderColor="#ECECEC"

  10. AutomationProperties.Hint="Enter your email here"

  11. AutomationProperties.IsInAccessibleTree="true"

  12. AutomationProperties.Name="Email entry field">


  13. <toolkit:EntryLine.HorizontalTextAlignment>

  14. <OnPlatform x:TypeArguments="TextAlignment" iOS="Center"/>

  15. </toolkit:EntryLine.HorizontalTextAlignment>

  16. </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)。


本文出自 “wangccsy” 博客,轉載請與作者聯系!

讓你的Xamarin.Forms應用程序訪問