注意:在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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。