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...

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.

What is the difference between isAccessibilityElement and accessibilityElementsHidden? The first one makes the view not accessible, but its subviews can still be accessible. The second one hides the view and all its subviews from assistive tech.

In SwiftUI there is a very useful modifier accessibilityElement(children:), that will do very different things depending on the AccessibilityChildBehavior passed as a parameter. There are three options: ignore (default), contain, and combine.

Created in Swift with Ignite.

Supporting Swift for Swifts