Meaningful reading order
Ensure the visual layout and focus traversal order of the app content follow a logical flow. The layout should generally follow a left-to-right, top-to-bottom pattern.
A meaningful reading order is crucial for users who rely on assistive technologies to experience content in the intended sequence. When the content order does not align with the visual presentation or logical flow, it can cause confusion and hinder the user’s ability to understand and interact with the content.
- Rule Category:
Keyboard and Focus Navigation
- WCAG 2.1 & 2.2 SC:
1.3.2 (A)
,2.4.3 (A)
- Rule Severity:
Serious
- Supported Platforms and Frameworks :
Android
,iOS
,React Native
,Flutter apps
Success criteria
The specific criteria for success are:
- The visual layout of content should follow a left-to-right, top-to-bottom order unless the language requires a different reading direction (for example, languages that are read from right-to-left). In such cases, even if the order deviates, the sequence should still be logically consistent and predictable.
- The view hierarchy must align with the visual layout and logical reading sequence.
- The focus traversal order, which is the order in which interactive elements receive focus, must follow the visual and logical flow.
- All screen reader-focusable elements, not just interactive elements, must follow a meaningful and predictable sequence.
How to fix
To ensure a meaningful reading order and prevent violations, follow these steps:
-
Design with a logical flow: Arrange elements on the screen in an order that is visually and semantically logical. Consider how a user would naturally progress through the content.
-
Maintain a consistent order of elements: Ensure the order of the accessibility elements in the view hierarchy matches their visual presentation on the screen.
To set the focus traversal order:- On iOS, use the
accessibilityElements
property. - On Android, use the
android:accessibilityTraversalBefore
andandroid:accessibilityTraversalAfter
attributes.
- On iOS, use the
-
Verify focus traversal: Ensure the screen reader focus moves through interactive elements in a logical and predictable order that aligns with the visual layout.
- Consider language direction: For languages that are read from right-to-left, ensure the visual layout and focus traversal order follow the conventions of that language.
Examples
The following Android example scan report highlights an app interface where the visual order does not follow a logical reading order, left-to-right, top-to-bottom, causing a meaningful reading order violation.
Fix
To correct this violation:
- Adjust the visual layout of the elements to follow a logical reading order. For example, a left-to-right, top-to-bottom order.
- Use the
android:accessibilityTraversalBefore
andandroid:accessibilityTraversalAfter
attributes to set the focus traversal order of the elements to match the intended reading order.
The following iOS example scan report highlights an app interface where the visual order does not follow a logical reading order, such as left-to-right or top-to-bottom, causing a meaningful reading order violation.
Fix
To correct this violation:
- Adjust the visual layout of the elements to follow a logical reading order. For example, a left-to-right, top-to-bottom order.
- Use the
accessibilityElements
property to set the focus traversal order to match the intended reading order.
References
- 1.3.2 Meaningful Sequence (Level A): WCAG 2.1 · WCAG 2.2
- 2.4.3 Focus Order (Level A): WCAG 2.1 · WCAG 2.2
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!