Accessibility
WCAG 2.2 report tool
I evaluate products against WCAG 2.2 as part of my accessibility work. This is the tool I use to keep a manual evaluation organised: all 86 success criteria, filtered by level (A, AA, AAA) and by who usually fixes them (Design, Code, Content), with a result and your own observations for each. Your work is only kept while this page is open and is never stored or sent anywhere. When you are done, export it as a report to keep a copy.
Project details
Optional. They appear at the top of the exported report. Nothing is stored.
0 of 86 evaluated
86 criteria
Perceivable
Information and interface parts can be perceived by everyone: text alternatives, captions, adaptable layouts and content that is easy to see and hear.
1.1 Text Alternatives
Every meaningful image, icon or chart has a text alternative, and purely decorative ones are hidden from assistive technology.
1.2 Time-based Media
Recordings that are only audio or only video come with a transcript or an equivalent alternative.
Prerecorded videos with sound have accurate captions.
Prerecorded video has audio description, or a full text alternative that covers what is shown.
Live video with sound has captions in real time.
Prerecorded video has an audio description track for important visual information.
Prerecorded video with sound offers a sign language interpretation.
Where the pauses are too short for descriptions, the video pauses so extended audio description can be played.
Prerecorded video has a full text alternative, such as a transcript that also describes what is seen.
Live audio-only content comes with a text alternative.
1.3 Adaptable
Structure that is shown visually, such as headings, lists, tables and form labels, is also present in the code.
The reading order in the code matches the visual order, so the content still makes sense when read linearly.
Instructions do not depend only on shape, colour, size, position or sound.
Content works in both portrait and landscape unless one orientation is essential.
Fields that collect personal details declare their purpose, so browsers and tools can fill them in.
The purpose of interface parts and icons can be worked out by software, for example through standard markup.
1.4 Distinguishable
Colour is never the only way to show information, a state or an action.
Audio that starts by itself and lasts more than three seconds can be paused or silenced.
Text has at least 4.5:1 contrast with its background, or 3:1 for large text.
Text can be enlarged to 200% without losing content or function.
Real text is used instead of pictures of text, except for logos or where an image is essential.
Text has at least 7:1 contrast with its background, or 4.5:1 for large text.
Spoken recordings have no background sound, or the background is quiet enough to ignore.
Blocks of text can be shown in comfortable colours, width, spacing and alignment.
Text is not shown as an image, apart from pure decoration and logos.
At 320 CSS pixels wide, which is 400% zoom, content fits without scrolling in two directions.
Interface parts and meaningful graphics have at least 3:1 contrast against the colours next to them.
Content stays usable when people increase line, letter, word and paragraph spacing.
Content that appears on hover or focus can be dismissed, can be hovered over and stays until dismissed.
Operable
People can operate the interface: keyboard access, enough time, safe animation, clear navigation and alternatives to complex gestures.
2.1 Keyboard Accessible
Everything that works with a mouse or touch also works with a keyboard.
Keyboard focus can always be moved away from any component.
All functionality can be used with a keyboard, with no exceptions.
Single-key shortcuts can be turned off or remapped, or only work while the component has focus.
2.2 Enough Time
Time limits can be turned off, adjusted or extended.
Moving, blinking, scrolling or auto-updating content can be paused, stopped or hidden.
Timing is not an essential part of the activity.
Interruptions, such as updates and alerts, can be postponed or turned off.
After a session expires, people can sign in again and carry on without losing their data.
People are warned about inactivity timeouts that could lose their data.
2.3 Seizures and Physical Reactions
Nothing flashes more than three times a second above the general and red flash thresholds.
Nothing flashes more than three times a second, at any level.
Motion triggered by an interaction can be turned off unless it is essential.
2.4 Navigable
There is a way to skip repeated blocks of content, such as a skip link or landmarks.
Every page has a title that describes its topic or purpose.
Keyboard focus moves in an order that keeps the meaning and operation intact.
The purpose of each link can be understood from its text or its surrounding context.
There is more than one way to find a page, such as navigation, search or a sitemap.
Headings and labels describe their topic or purpose.
Keyboard focus is visible on every interactive element.
People can tell where the current page sits within the site.
Each link's purpose is clear from the link text alone.
Content is organised into sections with headings.
A focused element is never completely hidden behind sticky headers, banners or other overlays.
No part of a focused element is hidden by content the author added.
The focus indicator is large enough and has enough contrast to be easy to see.
2.5 Input Modalities
Gestures that use several fingers or a path also have a simple single-pointer alternative.
Actions fire when the pointer is released rather than pressed, so they can be cancelled or undone.
The accessible name of a control contains its visible label text.
Features triggered by shaking or tilting also have a normal control and can be turned off.
Pointer targets are at least 44 by 44 CSS pixels, with a few exceptions.
The page does not force a single input type, such as touch only.
Anything that can be done by dragging can also be done with a single tap or click.
Pointer targets are at least 24 by 24 CSS pixels, or have enough space around them.
Understandable
Content and behaviour are readable and predictable, and people get help to avoid and fix mistakes.
3.1 Readable
The main language of each page is set in the code.
Passages in a different language are marked with that language.
Idioms, jargon and unusual words are explained or defined.
The meaning of abbreviations is available.
Text above a lower-secondary reading level has a simpler version or a summary.
Words whose meaning depends on pronunciation come with a way to find out how they sound.
3.2 Predictable
Moving focus to a component does not cause an unexpected change of context.
Changing the value of a field does not cause an unexpected change unless people are warned first.
Navigation that repeats across pages appears in the same order every time.
Components with the same function are identified the same way across pages.
Changes of context happen only when the person asks for them, or can be turned off.
Help options such as contact details or chat sit in the same place across pages.
3.3 Input Assistance
Input errors are found and described to the person in text.
Fields have labels or instructions, so people know what to enter.
When an error is detected and the fix is known, the fix is suggested.
Submissions with legal, financial or data consequences can be checked, corrected or reversed.
Context-sensitive help is available.
Every submission can be checked, corrected or reversed.
Information already given in a process is not asked for again, unless it is essential.
Signing in does not depend on remembering, copying or solving a puzzle without an alternative.
Signing in never depends on recognising objects or personal content, which is stricter than 3.3.8.
Robust
Content works reliably with browsers and assistive technology, now and as they change.
4.1 Compatible
Every interface component exposes its name, role and state to assistive technology.
Status messages are announced by assistive technology without moving focus.
Based on Web Content Accessibility Guidelines (WCAG) 2.2 by the W3C. The summaries and the Design, Code and Content roles are written for this tool and are guidance, not part of the standard. This tool records a manual evaluation; it does not test pages automatically.