This document provides a concise checklist of accessibility requirements for mobile app developers. It is intended to continuously evolve as more patterns arise.
Color contrast must comply with WCAG 2.2 AA level requirements:
Information conveyed via color must be also available by other means too (underlined text for links, etc.)
hidden attribute or visibility or display style properties.aria-hidden attribute should not be used.All activatable elements must be focusable:
button, link, or checkbox.Focus should be handled in a logical order and consistent manner.
Text equivalent must be provided for every non-strictly presentational non-text element within the app.
aria-label, aria-labelledby, or aria-describedby.Images of text must be avoided.
All user interface components with visible text (or image of text) as labels must have the same text available in the programmatic name of the component. WCAG 2.1: Label in name.
All form controls must have labels (<label> elements) for the benefit of screen reader users.
aria-checked, aria-disabled, aria-selected, aria-expanded, and aria-pressed.An app title must be provided.
Headings must not break hierarchical structure
<h1>Top level heading</h1>
<h2>Secondary heading</h2>
<h2>Another secondary heading</h2>
<h3>Low level heading</h3>ARIA Landmark Roles should be used to describe an app or document structure, such as banner, complementary, contentinfo, main, navigation, search.
For touch events, ensure the following (WCAG 2.1: Pointer Cancellation):
Touch targets must be large enough for the user to interact with (see the BBC Mobile Accessibility Guidelines for useful touch target size guidelines).
Note: The original version of this document was written by Yura Zenevich.