It is possible to change the traversing order of accessibility elements by configuring the accessibilityElements array. You should try to avoid it, but one good reason for doing it is if the default order is illogical because of the visual layout.

Twitter app showing a profile screen. VoiceOver will focus by default its elements in this order: Header photo, back button, search button, more actions button, profile photo, notifications button, direct message button, follow button, account's name, etc. Maybe we could change the order so the first element is the back button and the second is the account's name, acting as a header for the screen. We can achieve that by overriding the accessibilityElements property of the view implementing the account header and return the elements in the order we want.

You may also find interesting...

Sometimes you can create your own accessibility elements from scratch to group elements too. Perhaps because they're not contained in the same superview. You can combine these elements' frames and provide a suitable accessibility label.

Creating UIAccessibilityElements, combined with a semanticGroup accessibilityContainerType, can also help you make components as complex as charts accessible. Example from "Bring Accessibility to Charts" WWDC21: https://developer.apple.com/videos/play/wwdc2021/10122/

When configuring a largeContentImage or adjustsImageSizeForAccessibilityContentSizeCategory, it is important to use a pdf asset and preserve the vector data so the icons are crisp at any size.

Created in Swift with Ignite.

Supporting Swift for Swifts