docs/react-v9/contributing/accessibility-review-checklist.md
This accessibility review checklist is primarily geared towards evaluating the accessibility of new components, or major design changes or new features in existing components. Detailed steps are included in the section for each high-level item. Skip any tests or sub-tests that you do not feel comfortable evaluating, and either pair with or hand off the issue to an accessibility SME for any remaining items.
Note: these checks are geared towards catching component-level accessibility issues. They are not comprehensive, and this is not the correct checklist for evaluating page- or app-level accessibility.
For each component tested, write out any specific notes per-step here. Use this section to communicate any non-standard approaches, ambiguous test results, or fully skipped sections.
If a touchscreen isn't available, use common sense/maybe devtools? to mimic a lack of hover.
Note -- this is not only about touch access. A number of assistive tech devices function like a pointer, but lack hover (e.g. eye control or switch control).
<span tabindex="0">some text</span> should not have a tabindex and should not get focus, even if it has a tooltip or a click event (that would be a separate issue).To check for valid semantics, look at the following:
role="" attribute, or implicit based on the HTML element)To check for visually-hidden text:
aria-labels set within the component code, and any freeform string props that do not visually show uparia-label or other native attribute.Screen reader combinations:
For Windows screen readers:
For VoiceOver on macOS:
Touch screen readers:
For all screen readers, within all screen-reader-specific tests, check the following:
Specific per-screen-reader checks:
This test requires a broad knowledge of screen readers; specific references won't be too helpful. This should generally be done with or by someone who is confident in using and interpreting screen readers.