輔助功能容器
VoiceOver 可以在 iOS 上導航許多應用程式,因為大多數 UIKit
類都實現了 UIAccessibilityProtocol
。使用 UIView
不代表螢幕元素的功能(包括利用 Core Graphics 或 Metal 執行繪圖的應用程式)必須描述這些元素以便於訪問。從 iOS 8.0 開始,可以通過在包含不可訪問元素的 UIView
上分配屬性來完成此操作:
myInaccessibleContainerView.accessibilityElements = @[elements, that, should, be, accessible];
陣列中的每個物件都可以是 UIAccessibilityElement
的例項或任何其他符合 UIAccessibilityProtocol
的類。應按使用者應導航的順序返回子元素。作為應用程式作者,你可以使用輔助功能容器覆蓋 VoiceOver 滑動導航的預設左上角到右下角的排序。鑑於 UIView
實現了 UIAccessibilityProtocol
,你可以在同一個子可訪問性元素陣列中組合 UIAccessibilityElement
和 UIView
的例項。請注意,如果手動分配元素,則無需實現任何動態可訪問性協議方法,但可能需要為 VoiceOver 要檢測的元素髮出螢幕更改通知。