The UIAccessibilityContainer informal protocol provides a way for UIView subclasses to make selected components accessible as separate elements. For example, a view might contain icons or drawn text that, to end users, appear and function as separate items. But because these components are not implemented as instances of UIView, they are not automatically accessible to users with disabilities. Therefore, such a container view should implement the UIAccessibilityContainer methods to supply accessibility information about these components to assistive applications such as VoiceOver.


A view that implements the UIAccessibilityContainer informal protocol uses the UIAccessibilityElement method init(accessibilityContainer:) to create an accessibility element to represent each non-view component that needs to be accessible to users with disabilities. Note, however, that the container view itself is not an accessibility element because users interact with the contents, not with the container. This means that a container view that implements the UIAccessibilityContainer methods must set to false the isAccessibilityElement property of the UIAccessibility informal protocol.

The order of accessibility elements within the container view should be the same as the order in which the represented elements are presented to the user, from top-left to bottom-right.


Providing Information About Accessibility Elements

func accessibilityElementCount()

Returns the number of accessibility elements in the container.

func accessibilityElement(at: Int)

Returns the accessibility element at the specified index.

func index(ofAccessibilityElement: Any)

Returns the index of the specified accessibility element.

var accessibilityElements: [Any]?

An array of the accessibility elements in the container.