Interactive WCAG Checklist
Track WCAG 2.2 testing progress by principle, level, status, evidence, and project notes.
What this checklist is for
Use this page to run a structured WCAG review, record evidence, and see where your current accessibility work is still incomplete.
It does not certify legal compliance on its own. The result is only as accurate as the testing evidence you add, especially for keyboard, screen reader, zoom, error handling, and task flows.
Step 1: Set the review scope
A balanced website scope covering common navigation, content, and form expectations. Release review covers the practical WCAG A and AA set most teams need before shipping.
Showing 55 applicable criteria for this scope. Switch to Full audit when you need the complete WCAG list.
Step 2: Filter and review criteria
Current result
No reliable result yet
Nothing in the current release review scope has been tested. Start marking criteria with evidence before using this checklist as a decision aid.
How to use the result
- Use Failed for confirmed WCAG issues with clear evidence.
- Use Needs Review when automation or markup hints are not enough.
- Do not treat a high pass count as full compliance until key journeys are manually tested.
Perceivable - Level A
1.1.1 Non-text Content
All non-text content has a text alternative that serves an equivalent purpose.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.2.1 Audio-only and Video-only (Prerecorded)
Provide alternatives for prerecorded audio-only and video-only media.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.2.2 Captions (Prerecorded)
Captions are provided for prerecorded audio content in synchronized media.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.2.3 Audio Description or Media Alternative
Alternative for prerecorded video content in synchronized media.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.2.4 Captions (Live)
Captions are provided for all live audio content in synchronized media.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.2.5 Audio Description (Prerecorded)
Audio description is provided for all prerecorded video content.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.3.1 Info and Relationships
Structure and relationships conveyed through presentation can be programmatically determined.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.3.2 Meaningful Sequence
The reading sequence can be programmatically determined.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.3.3 Sensory Characteristics
Instructions don't rely solely on shape, color, size, location, or sound.
Automation + visual reviewColor and readabilityWhat to verify: Check contrast ratios, hover and focus states, disabled text, and text over images or gradients.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.3.4 Orientation
Content is not restricted to a single display orientation.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.3.5 Identify Input Purpose
The purpose of common input fields can be programmatically determined via autocomplete.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.4.1 Use of Color
Color is not the only means of conveying information.
Automation + visual reviewColor and readabilityWhat to verify: Check contrast ratios, hover and focus states, disabled text, and text over images or gradients.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level A
1.4.2 Audio Control
Audio that plays for more than 3 seconds can be paused.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.3 Contrast (Minimum)
Text has a contrast ratio of at least 4.5:1 (3:1 for large text).
Automation + visual reviewColor and readabilityWhat to verify: Check contrast ratios, hover and focus states, disabled text, and text over images or gradients.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.4 Resize Text
Text can be resized up to 200% without loss of content or functionality.
Manual reviewGeneral usabilityWhat to verify: Check this criterion in a real user flow and add evidence that explains what was tested and what passed or failed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.5 Images of Text
Use text instead of images of text where possible.
Content inspectionMedia alternativesWhat to verify: Confirm images, icons, audio, and video expose the same meaning or function through text alternatives and captions where needed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.10 Reflow
Content reflows to a single column at 320 CSS pixels without loss.
Manual reviewGeneral usabilityWhat to verify: Check this criterion in a real user flow and add evidence that explains what was tested and what passed or failed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.11 Non-text Contrast
UI components and graphical objects have at least 3:1 contrast.
Automation + visual reviewColor and readabilityWhat to verify: Check contrast ratios, hover and focus states, disabled text, and text over images or gradients.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.12 Text Spacing
No loss of content when users override text spacing.
Manual reviewGeneral usabilityWhat to verify: Check this criterion in a real user flow and add evidence that explains what was tested and what passed or failed.Record what you tested, where you tested it, and why the chosen status is justified.
Perceivable - Level AA
1.4.13 Content on Hover or Focus
Additional content triggered on hover/focus is dismissible, hoverable, and persistent.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.1.1 Keyboard
All functionality is available from a keyboard.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.1.2 No Keyboard Trap
Keyboard focus can move away from any component.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.1.4 Character Key Shortcuts
Single-character shortcuts can be turned off, remapped, or only active on focus.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.2.1 Timing Adjustable
Users can turn off, adjust, or extend time limits.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.2.2 Pause, Stop, Hide
Moving, blinking, scrolling, or auto-updating content can be paused.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.3.1 Three Flashes or Below Threshold
No content flashes more than 3 times per second.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.4.1 Bypass Blocks
A mechanism (skip link, landmarks) bypasses repeated content.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.4.2 Page Titled
Pages have titles that describe topic or purpose.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.4.3 Focus Order
Focus order preserves meaning and operability.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.4.4 Link Purpose (In Context)
The purpose of each link can be determined from the link text alone or context.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level AA
2.4.5 Multiple Ways
More than one way is available to locate a page.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level AA
2.4.6 Headings and Labels
Headings and labels describe topic or purpose.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level AA
2.4.7 Focus Visible
Keyboard focus indicator is visible.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level AA
2.4.11 Focus Not Obscured (Minimum)
Focused element is not entirely hidden by author-created content.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.5.1 Pointer Gestures
Multipoint or path-based gestures have single-point alternatives.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.5.2 Pointer Cancellation
Users can abort or undo pointer activations.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.5.3 Label in Name
Accessible name contains the visible label text.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level A
2.5.4 Motion Actuation
Motion-triggered functions have UI alternatives and can be disabled.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level AA
2.5.7 Dragging Movements
Dragging functions have single-pointer alternatives.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Operable - Level AA
2.5.8 Target Size (Minimum)
Touch targets are at least 24 by 24 CSS pixels.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.1.1 Language of Page
Default language of the page can be programmatically determined.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level AA
3.1.2 Language of Parts
Language of each passage can be programmatically determined.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.2.1 On Focus
Receiving focus does not trigger a change of context.
Manual keyboard testingInteraction flowWhat to verify: Test with Tab, Shift+Tab, Enter, Space, Escape, arrow keys, and visible focus across the full task flow.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.2.2 On Input
Changing a setting does not automatically change context.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level AA
3.2.3 Consistent Navigation
Navigation repeated on multiple pages is in the same order.
Manual reviewGeneral usabilityWhat to verify: Check this criterion in a real user flow and add evidence that explains what was tested and what passed or failed.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level AA
3.2.4 Consistent Identification
Components with the same function are identified consistently.
Manual reviewGeneral usabilityWhat to verify: Check this criterion in a real user flow and add evidence that explains what was tested and what passed or failed.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.2.6 Consistent Help
Help mechanisms are provided in the same relative order across pages.
Manual reviewGeneral usabilityWhat to verify: Check this criterion in a real user flow and add evidence that explains what was tested and what passed or failed.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.3.1 Error Identification
Input errors are identified and described to the user.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.3.2 Labels or Instructions
Labels or instructions are provided when content requires user input.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level AA
3.3.3 Error Suggestion
If input errors are detected, suggestions for correction are provided.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level AA
3.3.4 Error Prevention (Legal, Financial, Data)
For sensitive submissions, users can review, correct, or reverse.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level A
3.3.7 Redundant Entry
Information previously entered is auto-populated or available.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Understandable - Level AA
3.3.8 Accessible Authentication (Minimum)
No cognitive function test is required for authentication.
Form walkthroughForms and validationWhat to verify: Submit empty and invalid forms, confirm labels and instructions, and verify errors are clear, linked, and recoverable.Record what you tested, where you tested it, and why the chosen status is justified.
Robust - Level A
4.1.2 Name, Role, Value
Name, role, and state of UI components are programmatically determinable.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Robust - Level AA
4.1.3 Status Messages
Status messages can be programmatically determined via role/aria-live.
Markup + assistive tech reviewSemantic structureWhat to verify: Inspect headings, landmarks, labels, status updates, and element semantics, then verify them with a screen reader.Record what you tested, where you tested it, and why the chosen status is justified.
Editorial guidance
How this reference tool supports accessibility work
The interactive wcag checklist is designed to turn a common accessibility review task into a repeatable workflow. It focuses on track wcag 2.2 testing progress by principle, level, status, evidence, and project notes. The goal is not to replace expert judgment, but to make the first review faster, more consistent, and easier to explain to designers, developers, QA teams, and content owners.
Use the output as evidence for a remediation conversation. A failed check normally means the implementation needs a closer look against WCAG 2.2, while a passing check means the specific automated rule did not find a problem. Passing automated checks is helpful, but it is not the same as a full conformance claim.
For best results, test real production markup instead of simplified snippets. Templates, CSS state, JavaScript behavior, responsive layouts, and content changes can all affect the final accessibility experience. Re-run the tool after fixes so the before-and-after evidence is easy to compare.
Pair this tool with manual keyboard testing, zoom and reflow checks, screen-reader review, and content judgment. Those human checks catch issues that automated logic cannot reliably infer, such as whether labels are meaningful, instructions are clear, or a complete user task can be finished without a mouse.
How to use
- 1Open the interactive wcag checklist and enter the page content, settings, or code you want to test or generate.
- 2Review the result cards, scores, or generated code to identify the safest accessible option before implementation.
- 3Copy the recommended fix or starter markup, then validate it again in your real product with keyboard and assistive technology testing.
FAQs
Tips here are tailored for the interactive wcag checklist so people can move from checking to fixing faster.
What to verify manually
Keyboard: move through the related flow with Tab, Shift+Tab, Enter, Space, Escape, and arrow keys where the pattern expects them.
Assistive technology: check names, roles, states, reading order, announcements, and focus changes with at least one screen reader.
Content quality: confirm that instructions, labels, headings, errors, and alternatives make sense in the real user task.
This page is written as practical guidance, not a legal certification. For procurement, VPAT/ACR work, or regulated launches, combine tool output with expert review and documented manual test results.
Related learning
Learn the concepts behind this tool
- StandardsWCAG 2.2 Checklist: Common Problems and Practical SolutionsA working developer's tour of the Web Content Accessibility Guidelines 2.2 — perceivable, operable, understandable, robust — and what actually changed in 2023.
- DocumentsPDF Accessibility Checklist: How to Create Accessible PDFs That People Can Actually UseA practical PDF accessibility checklist covering tags, reading order, headings, links, tables, alt text, forms, metadata, export settings, and testing.
- KeyboardKeyboard navigation checklist for every web appA ten-minute keyboard-only audit that catches the majority of Level A failures.
