iOS 应用如何实现无障碍用户体验

阅读时长 6 分钟读完

无障碍用户体验(Accessible User Experience,AUX)是指为身体有缺陷、认知能力受限或者年龄较大等群体而设计的应用程序接口,让他们能够方便地使用应用程序。在移动设备上,无障碍功能对于视障人士、听障人士以及其他一些使用上有困难的用户尤为重要。本文将介绍在 iOS 上如何实现无障碍用户体验。

VoiceOver

VoiceOver 是 iOS 中自带的无障碍功能,它可以为用户提供屏幕朗读和触摸控制等功能。VoiceOver 大量依赖于每个应用的页面和控件信息,因此开发者需要给每个元素分配可访问性标签和特殊属性。

可访问性标签

可访问性标签是 VoiceOver 用来标识应用程序页面和控件的名称。在默认情况下,VoiceOver 会使用元素的可读性文本。但是当产生二义性时(例如,有多个按钮文本相同),开发者应使用 accessibilityLabel 属性。

特殊属性

开发者可以使用以下几个属性来扩展组件的可访问性:

  • accessibilityHint:提供额外的语音提示信息;
  • accessibilityTraits:描绘元素角色和用途;
  • accessibilityValue:提供元素的值;
  • isAccessibilityElement:确定元素是否可以被 VoiceOver 封装。

嵌套元素

在许多情况下,开发者需要向某个更大的控件中添加子元素。对于这种情况,使用 accessibilityElements 属性包含相关的子元素。例如一个表格:

UIAccessibility

UIAccessibility 提供了一些常用 API,用于改进应用程序的可访问性。

UIAccessibilityPostNotification

UiAccessibilityPostNotification 可用于显示语音和震动提示信息。以下代码显示了如何在程序启动时短暂地震动一下:

UIAccessibilityCustomRotor

UIAccessibilityCustomRotor 可以使 VoiceOver 用户更容易地找到某个特定类型的内容(例如标题)。如果您的应用程序包含许多这样的元素,则可能会很有用。以下是如何创建一个 rotor:

UIAccessibilityElement

UIAccessibilityElement 可以用于创建更复杂的可访问组件,例如表示一个复杂视图的元素。

AXEnhancements

AXEnhancements 是一个开源的库,它提供了许多界面元素和控件,以便改善应用程序的无障碍性。以下是 AXEnhancements 提供的一些例子:

AXSwitch

AXSwitch 是一个更多的自定义感觉的开关控件,它不使用 iOS 自带的 UISwitch。AXSwitch 接受以下选项:

AXRatingView

AXRatingView 是一个显示评级的视图,它可以显示滑动或静态模式。AXRatingView 接受以下选项:

总结

在本文中,我们已经介绍了如何在 iOS 应用程序中实现无障碍用户体验。您应该了解到 VoiceOver 和 UIAccessibility 以及 AXEnhancements 库。除了上述示例代码之外,还应该考虑对您的应用程序使用更具体的方法,以提高您的听障和视障用户的体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65acca69add4f0e0ff65d318

纠错
反馈