If you need for a view (and all its subviews) not to be focusable by assistive tech like VoiceOver, you can set its accessibilityElementsHidden property to true. This isn't needed very often, but it can be useful for certain custom experiences.

Twitter app in the Notifications section. There are two tabs. One for All, and one for Mentions. The content comes after the tabs in a horizontally scrollable paged view. When the Mentions tab is selected, and the focus is on the Mentions tab, if the user swipes to the right, VoiceOver will look for the next element from top-left to bottom-right. So it may try to focus the first element in the scroll view, which would be the first tweet from the

You may also find interesting...

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.

You can create your own accessibility elements from scratch. One use-case for doing that is when you do some custom drawing instead of building your UI using or relying on UIKit components. A circular progress bar, could be an example.

VoiceOver will traverse elements from left-right, and from top-bottom. If for any reason you need to change that order, in SwiftUI you can change the accessibility sort priority. A higher priority number in the container means it will go first.

Created in Swift with Ignite.

Supporting Swift for Swifts