Add accessibility checklist for native mobile experiences#41
Draft
janmaarten-a11y wants to merge 2 commits intomainfrom
Draft
Add accessibility checklist for native mobile experiences#41janmaarten-a11y wants to merge 2 commits intomainfrom
janmaarten-a11y wants to merge 2 commits intomainfrom
Conversation
This document provides a comprehensive checklist for accessibility considerations specific to native mobile experiences, including guidelines, best practices, and resources for iOS and Android applications.
ericwbailey
reviewed
Apr 30, 2026
|
|
||
| The one exception: if part of your app uses a **web view** (an in-app browser, an OAuth flow, embedded docs, or any HTML-rendered content), apply the web checklists to that content. Flag those areas with a [View Context Stamp](../tutorials/mobile-annotations.md#view-context-stamps-and-details) so the handoff is explicit. | ||
|
|
||
| For per-interaction annotation guidance, pair this checklist with the [User Interactions tutorial](../tutorials/user-interactions.md) and the [Mobile annotations tutorial](../tutorials/mobile-annotations.md). The mobile annotations tutorial also includes a list of [design considerations](../tutorials/mobile-annotations.md#design-considerations) worth reviewing before you start annotating. For per-SC application notes when auditing, see the [Mobile-WCAG Mapping (Internal only)](https://github.com/github/accessibility-audit-guide/blob/main/mobile/mobile-wcag-map.md). |
Contributor
There was a problem hiding this comment.
This reads a little rough to me at a first pass. Can we maybe break it into two paragraphs, one for per-interaction guidance and design considerations, and one for auditing notes.
Then for each of the two new paragraphs, maybe we have a short sentence or two explaining the why behind why you'd want to do this.
| - [ ] **Stateful controls have a Value** | ||
| - Toggles, sliders, segmented controls, and inputs need a current value (e.g., "On", "75%", "@octocat"). | ||
| - [ ] **Roles and traits are specified per platform** | ||
| - iOS uses traits (button, header, adjustable, selected). Android uses roles and state descriptions. Annotate both if you ship to both. |
Contributor
There was a problem hiding this comment.
Kind of a general question for mobile jargon: Should we link to iOS and Android documentation for them when named?
| - [ ] **Hints are used only for non-obvious interactions** | ||
| - Don't put critical info in hints. Users can disable them, and they're announced last. | ||
| - [ ] **Decorative elements are hidden from assistive tech** | ||
| - Mark with `accessibilityElementsHidden` (iOS) or `importantForAccessibility="no"` (Android). |
Contributor
There was a problem hiding this comment.
Maybe link to an explainer about what constitutes as decorative?
Co-authored-by: Eric Bailey <ericwbailey@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #36
Overview
This pull request adds a comprehensive accessibility checklist specifically for native mobile applications (iOS and Android) in the new file
checklists/mobile-checklist.md. The checklist consolidates WCAG 2.2 requirements, W3C mobile guidance, and platform best practices into actionable items for designers and engineers working on native mobile experiences. It covers all major accessibility considerations, provides annotation guidance, and includes resources and testing recommendations.