Here we provide a checklist you can use to ensure that your pull request meets the accessibility requirements.
For more info, read the accessibility overview and UWP Accessibility checklist.
- Tab order is logical and matches the visual layout. Reverse tabbing follows the same path. Focus can only be set to interactive controls (not static elements like labels).
- Arrowing is supported among child elements of a grouping or composite element (e.g., list). Grids can be fully navigated by arrow without requiring switching between left/right vs. up/down arrow keys.
- Keyboard activation of interactive controls can be accomplished. Enter key invokes default action. Spacebar activates the control which has focus.
- Keyboard shortcuts work & are documented.
- Check if all interactive UI elements set the accessible name. (More info)
- Narrator has been run to verify E2E programmatic access. (See Narrator user guide)
- Narrator: Launch of app results in correct default focus set which is automatically read out. Accessible name, role (control type) and value is read out for all controls.
- All elements (static text or interactive controls) can be reached with Narrator item navigation commands.
- Transitioning to a new UI results in default focus being set an appropriate & meaningful accessible name being read out.
- Invisible controls (e.g., used for layout purposes) are not reachable by Narrator. Dynamic content (e.g., alerts, validation errors, popups/windows appearing) are read out automatically.
- Default contrast of 4.5:1 (Color Contrast Analyser or other tools) is met or exceeded for all text using default/out-of-box settings.
- Display or text scaling causes UI to scale correctly and not result in controls being obscured.
- Ensure that your UI doesn’t use color as the only way to convey information.
- Switch to a high contrast theme and verify that the UI for your app is readable and usable.
- Both high contrast black & white themes are supported.
- Contrast of 14:1 is met or exceeded for all text (Color Contrast Analyser or other tools ).
- Icons are visible.
- Colors match those defined by type in the Ease of Access high contrast preview.
- Controls can be invoked by saying their names.
- "Show numbers" works to visually disambiguate controls clearly and can be used to invoke controls.
- Use speech recognition.
- Use tools such as Inspect to verify programmatic access, run diagnostic tools such as AccChecker to discover common errors, and verify the screen reading experience with Narrator. Other tools: AccScope and AccEvent.