Accessibility ChecklistThis checklist aims to quickly help identify the most obvious accessibility issues for WCAG 2.0 and 2.1 AA compatibility. It is not intended to be exhaustive but should act as a way to quickly assess a page in a multi-pass approach. It would be recommended to use a screen reader such as VoiceOver when conducting the assessment.

1. Visual Design

Consider users who have sight impairments not necessarily just those using a screen reader.

Color contrast of text and linksUse a colour contrast checker to validate contrast ratios
Color is not only way to communicate informationReinforce colours with clear text information
Text-only zoom+200% zoom & -50% text zoom ensure text is legible, and there is no horizontal scrolling
Pinch zoom (Touch devices)Pinch zoom must be available on touch devices, at least to x2
Animation / flashingNo content that flashes more than 3 times/second, prevents triggering seizures.
Non-text contentEnsure there are text-based alternatives to key content, doesn’t apply to presentational content.

2. Page Structure

Consider users who rely on a screen reader and need the page to be read out to them.

Appropriate and unique page titleKeep the most page relevant text at the beginning
Logical heading structureEnsure heading levels are not missed, i.e. h2, then a h4
Meaningful headings & linksEnough context? Check the screen reader’s web rotor
Semantic mark-upIs semantic mark-up used throughout the page so it makes sense? Usage of lists, nav sections, field sets, etc.
Tabular dataTables should be used to mark-up tabular data, and appropriate scope and captions should be utilized.
Progressive enhancementIf JavaScript is disabled, can a user still complete the task?
Image alt tagsRemember if left empty, screen readers skip the image

3. Keyboard Navigation

Consider screen reader users and those using keyboard-only or switch controls because of motor disabilities preventing them from using a mouse/track-pad.

Fully keyboard accessibleAll functions are available to keyboard only users
Visible focusFocus outline is visible and not visually lost on the page
No keyboard trapsFocus is managed correctly where necessary
Clear screen reader focus outlineScreen reader focus outline clearly encloses the area it is currently announcing
Focus managementFocus is managed appropriately for errors, dialogs, form elements, non-native elements, etc.
Focus orderFocus order is clear and logical
No context change on focusElement doesn’t change context on focus, i.e. a drop down doesn’t submit upon option selection
TimingGive users enough time to complete an action, or the ability to extend the time frame by at least 10 times (exceptions are real-time events like auctions etc).

4. Forms & Interactive Elements

Consider error management and providing feedback for interaction.

Links & ButtonsRule of thumb: links perform navigation, buttons perform actions
Programmatic association of
labels and form elements
Labels should be linked programmatically with form elements, so they are announced correctly
Clearly identify errorsError attributes on form elements (aria-invalid, aria-describedby) need to be maintained and managed in the appropriate states.
Programmatically associated errorsErrors for a form element should be linked programmatically, using aria-describedby
Clear error instructionsError messages should clearly indicate how to resolve the issue.
Custom widgetsNon-native widgets need to have appropriate roles and behaviours manually applied to them, so screen readers can interpret them correctly, and keyboard only users can interact with them.
Opening new windowsWhen opening new windows, make it clear that the link opens in a new window
Live regionsUtilize live regions carefully, example applications could be when feedback is needed with complex in-page updates are occurring.

5. Multimedia

Consider audio and visual content and how blind and deaf users will access this content.

Provide audio/video transcriptsText alternatives to time-based media
Provide audio descriptionsHave descriptions available for pre-recorded video
Provide captionsHave synced subtitles for audio/video content
CAPTCHA user verificationAvoid CAPTCHA if possible, must have an audio alternative if used

Recommended WAI-ARIA Usage

Try to utilize native HTML elements and attributes wherever possible, before using ARIA attributes.

For example, utilize native form elements wherever possible, otherwise when non-native elements are used a lot of extra work (primarily scripting) will need to be done to mimic native component behaviors to ensure a consistent and expected behavior for all users.


Screen reader tips

Spend some time listening to the actual output of the screen reader audio, elements such as dates, times, prices, units of measure are not always announced as expected, ensure that this information is appropriately conveyed to those relying solely on the announcements.

Use the web rotor to review page structure and content out of context. Seasoned screen reader users hop around page content quickly, is the content appropriately landmarked and headings deployed to facilitate this behavior?


Guides & Resources

Apple Voice Over Guide
https://support.apple.com/guide/voiceover-guide/welcome/web

Other accessibility audit checklists
https://webaim.org/standards/wcag/checklist

WCAG 2.1 at a glance
https://www.w3.org/TR/WCAG21/

Tools

Color Oracle – View screens through colour blind users’ eyes
http://colororacle.org

Colour Contrast Analyser – Check contrast ratios meet WCAG 2.0 succcess criteria
http://www.paciellogroup.com/resources/contrastanalyser/

WAVE Toolbar/extensions
http://wave.webaim.org/extension/ Chrome
https://wave.webaim.org/toolbar/ Firefox