辅助功能容器

VoiceOver 可以在 iOS 上导航许多应用程序,因为大多数 UIKit 类都实现了 UIAccessibilityProtocol。使用 UIView 不代表屏幕元素的功能(包括利用 Core Graphics 或 Metal 执行绘图的应用程序)必须描述这些元素以便于访问。从 iOS 8.0 开始,可以通过在包含不可访问元素的 UIView 上分配属性来完成此操作:

myInaccessibleContainerView.accessibilityElements = @[elements, that, should, be, accessible];

数组中的每个对象都可以是 UIAccessibilityElement 的实例或任何其他符合 UIAccessibilityProtocol 的类。应按用户应导航的顺序返回子元素。作为应用程序作者,你可以使用辅助功能容器覆盖 VoiceOver 滑动导航的默认左上角到右下角的排序。鉴于 UIView 实现了 UIAccessibilityProtocol,你可以在同一个子可访问性元素数组中组合 UIAccessibilityElementUIView 的实例。请注意,如果手动分配元素,则无需实现任何动态可访问性协议方法,但可能需要为 VoiceOver 要检测的元素发出屏幕更改通知。