Chapter 9: Reading Order

As explained in the talkback and voiceover chapters, users depend on swipe gestures to navigate between the items on the screen. Imagine the tab navigation on a desktop screen. The only difference is that the mobile swipe gestures navigate to all elements irrespective of their type. In other words, tab key navigates only to the focusable elements such as links and form elements whereas the swipe gesture of mobile screen reader navigates both to focusable and non-focusable elements.


Focus Management

When the content on the screen presents new view or the layout changes, the voiceover cursor moves to the first element. This focus might not be always a good user experience. Users may have to swipe until they reach the desired element.
To change the position of the cursor, post a UIAccessibilityScreenChangedNotification notification using the UIAccessibilityPostNotification function. The notification tells VoiceOver that the contents of the screen changed. When posting the notification, specify the element to which you want to assign the focus.
Here is a guide from Apple Developer.


In most cases the grouping and other focus mechanisms explained in the previous chapters make the meaningful reading sequence with talkback. If for any reason if the order is not still meaningful consider looking at the order of the views placed in the code order. This should be the order in which talkback reads unless it is specifically overwritten. It is recommended to have the default reading order that is defined by the OS unless you have a specific reason to change it.
To change the order, use the nextFocusDown, nextFocusLeft, nextFocusRight, and nextFocusUp XML attributes. Specify which view (by ID) should get the focus next, after the current view.

WCAG Success criteria

1.3.2 Meaningful Sequence Level A