pour engine
WCAG 2.2, criterion by criterion.
All 86 success criteria in WCAG 2.2 (opens in a new tab), in the order the spec lists them. Rules in pour engine assist with 51 of them. The other 35 come back from every audit as a checklist for a person, never silently skipped.
Reading the table
Partly automated means at least one rule checks part of the criterion, or points out the elements a person should look at. No criterion is fully automated: every one of them ends in a question about meaning that only a person can settle, even where a rule decides most real pages.
Manual review means no rule assists with the criterion. At the default scope, levels A and AA, an audit hands back 55 criteria this way. Level AAA rules run only when asked for.
The table is generated from the engine's rule registry, so it moves when the rules do. The same table ships in the package as COVERAGE.md (opens in a new tab).
Perceivable
| SC | Success criterion | Level | Automation | Rules in the engine |
|---|---|---|---|---|
| 1.1.1 | Non-text Content (opens in a new tab) | A | Partly automated | area-alt, canvas-alt, embed-alt, image-alt, input-image-alt, object-alt, svg-img-alt |
| 1.2.1 | Audio-only and Video-only (Prerecorded) (opens in a new tab) | A | Partly automated | audio-transcript |
| 1.2.2 | Captions (Prerecorded) (opens in a new tab) | A | Partly automated | media-captions |
| 1.2.3 | Audio Description or Media Alternative (Prerecorded) (opens in a new tab) | A | Partly automated | video-audio-description |
| 1.2.4 | Captions (Live) (opens in a new tab) | AA | Manual review | |
| 1.2.5 | Audio Description (Prerecorded) (opens in a new tab) | AA | Partly automated | video-audio-description |
| 1.2.6 | Sign Language (Prerecorded) (opens in a new tab) | AAA | Manual review | |
| 1.2.7 | Extended Audio Description (Prerecorded) (opens in a new tab) | AAA | Manual review | |
| 1.2.8 | Media Alternative (Prerecorded) (opens in a new tab) | AAA | Manual review | |
| 1.2.9 | Audio-only (Live) (opens in a new tab) | AAA | Manual review | |
| 1.3.1 | Info and Relationships (opens in a new tab) | A | Partly automated | aria-required-children, aria-required-parent, definition-list, dlitem-parent, form-label, list-structure, listitem-parent, p-as-heading, table-headers |
| 1.3.2 | Meaningful Sequence (opens in a new tab) | A | Partly automated | reading-order-divergence |
| 1.3.3 | Sensory Characteristics (opens in a new tab) | A | Manual review | |
| 1.3.4 | Orientation (opens in a new tab) | AA | Partly automated | orientation-lock |
| 1.3.5 | Identify Input Purpose (opens in a new tab) | AA | Partly automated | autocomplete-valid |
| 1.3.6 | Identify Purpose (opens in a new tab) | AAA | Partly automated | region-purpose |
| 1.4.1 | Use of Color (opens in a new tab) | A | Partly automated | link-in-text-block |
| 1.4.2 | Audio Control (opens in a new tab) | A | Partly automated | audio-control |
| 1.4.3 | Contrast (Minimum) (opens in a new tab) | AA | Partly automated | color-contrast, control-contrast |
| 1.4.4 | Resize Text (opens in a new tab) | AA | Partly automated | meta-viewport |
| 1.4.5 | Images of Text (opens in a new tab) | AA | Manual review | |
| 1.4.6 | Contrast (Enhanced) (opens in a new tab) | AAA | Partly automated | color-contrast-enhanced |
| 1.4.7 | Low or No Background Audio (opens in a new tab) | AAA | Manual review | |
| 1.4.8 | Visual Presentation (opens in a new tab) | AAA | Partly automated | text-justified |
| 1.4.9 | Images of Text (No Exception) (opens in a new tab) | AAA | Manual review | |
| 1.4.10 | Reflow (opens in a new tab) | AA | Partly automated | reflow |
| 1.4.11 | Non-text Contrast (opens in a new tab) | AA | Partly automated | non-text-contrast |
| 1.4.12 | Text Spacing (opens in a new tab) | AA | Partly automated | text-spacing |
| 1.4.13 | Content on Hover or Focus (opens in a new tab) | AA | Manual review |
Operable
| SC | Success criterion | Level | Automation | Rules in the engine |
|---|---|---|---|---|
| 2.1.1 | Keyboard (opens in a new tab) | A | Partly automated | scrollable-region-focusable |
| 2.1.2 | No Keyboard Trap (opens in a new tab) | A | Manual review | |
| 2.1.3 | Keyboard (No Exception) (opens in a new tab) | AAA | Partly automated | scrollable-region-focusable |
| 2.1.4 | Character Key Shortcuts (opens in a new tab) | A | Manual review | |
| 2.2.1 | Timing Adjustable (opens in a new tab) | A | Partly automated | meta-refresh |
| 2.2.2 | Pause, Stop, Hide (opens in a new tab) | A | Partly automated | pause-stop-hide, video-loop-motion |
| 2.2.3 | No Timing (opens in a new tab) | AAA | Manual review | |
| 2.2.4 | Interruptions (opens in a new tab) | AAA | Partly automated | meta-refresh-no-exceptions |
| 2.2.5 | Re-authenticating (opens in a new tab) | AAA | Manual review | |
| 2.2.6 | Timeouts (opens in a new tab) | AAA | Manual review | |
| 2.3.1 | Three Flashes or Below Threshold (opens in a new tab) | A | Manual review | |
| 2.3.2 | Three Flashes (opens in a new tab) | AAA | Manual review | |
| 2.3.3 | Animation from Interactions (opens in a new tab) | AAA | Partly automated | reduced-motion |
| 2.4.1 | Bypass Blocks (opens in a new tab) | A | Partly automated | bypass-blocks |
| 2.4.2 | Page Titled (opens in a new tab) | A | Partly automated | document-title |
| 2.4.3 | Focus Order (opens in a new tab) | A | Partly automated | visual-order-divergence |
| 2.4.4 | Link Purpose (In Context) (opens in a new tab) | A | Partly automated | area-alt, link-name, link-text-generic |
| 2.4.5 | Multiple Ways (opens in a new tab) | AA | Manual review | |
| 2.4.6 | Headings and Labels (opens in a new tab) | AA | Partly automated | heading-label-placeholder |
| 2.4.7 | Focus Visible (opens in a new tab) | AA | Partly automated | focus-visible |
| 2.4.8 | Location (opens in a new tab) | AAA | Manual review | |
| 2.4.9 | Link Purpose (Link Only) (opens in a new tab) | AAA | Partly automated | link-text-generic-only |
| 2.4.10 | Section Headings (opens in a new tab) | AAA | Partly automated | section-heading |
| 2.4.11 | Focus Not Obscured (Minimum) (opens in a new tab) | AA | Partly automated | focus-not-obscured |
| 2.4.12 | Focus Not Obscured (Enhanced) (opens in a new tab) | AAA | Partly automated | focus-not-obscured-enhanced |
| 2.4.13 | Focus Appearance (opens in a new tab) | AAA | Manual review | |
| 2.5.1 | Pointer Gestures (opens in a new tab) | A | Partly automated | pointer-gesture-alternative |
| 2.5.2 | Pointer Cancellation (opens in a new tab) | A | Manual review | |
| 2.5.3 | Label in Name (opens in a new tab) | A | Manual review | |
| 2.5.4 | Motion Actuation (opens in a new tab) | A | Manual review | |
| 2.5.5 | Target Size (Enhanced) (opens in a new tab) | AAA | Partly automated | target-size-enhanced |
| 2.5.6 | Concurrent Input Mechanisms (opens in a new tab) | AAA | Manual review | |
| 2.5.7 | Dragging Movements (opens in a new tab) | AA | Partly automated | drag-alternative |
| 2.5.8 | Target Size (Minimum) (opens in a new tab) | AA | Partly automated | target-size |
Understandable
| SC | Success criterion | Level | Automation | Rules in the engine |
|---|---|---|---|---|
| 3.1.1 | Language of Page (opens in a new tab) | A | Partly automated | html-lang |
| 3.1.2 | Language of Parts (opens in a new tab) | AA | Partly automated | valid-lang-parts |
| 3.1.3 | Unusual Words (opens in a new tab) | AAA | Manual review | |
| 3.1.4 | Abbreviations (opens in a new tab) | AAA | Manual review | |
| 3.1.5 | Reading Level (opens in a new tab) | AAA | Manual review | |
| 3.1.6 | Pronunciation (opens in a new tab) | AAA | Manual review | |
| 3.2.1 | On Focus (opens in a new tab) | A | Partly automated | on-input-navigation |
| 3.2.2 | On Input (opens in a new tab) | A | Partly automated | on-input-navigation |
| 3.2.3 | Consistent Navigation (opens in a new tab) | AA | Manual review | |
| 3.2.4 | Consistent Identification (opens in a new tab) | AA | Manual review | |
| 3.2.5 | Change on Request (opens in a new tab) | AAA | Partly automated | meta-refresh-no-exceptions |
| 3.2.6 | Consistent Help (opens in a new tab) | A | Manual review | |
| 3.3.1 | Error Identification (opens in a new tab) | A | Partly automated | error-message-linkage |
| 3.3.2 | Labels or Instructions (opens in a new tab) | A | Partly automated | form-label |
| 3.3.3 | Error Suggestion (opens in a new tab) | AA | Manual review | |
| 3.3.4 | Error Prevention (Legal, Financial, Data) (opens in a new tab) | AA | Partly automated | financial-form-confirmation |
| 3.3.5 | Help (opens in a new tab) | AAA | Manual review | |
| 3.3.6 | Error Prevention (All) (opens in a new tab) | AAA | Manual review | |
| 3.3.7 | Redundant Entry (opens in a new tab) | A | Partly automated | redundant-entry |
| 3.3.8 | Accessible Authentication (Minimum) (opens in a new tab) | AA | Partly automated | auth-field-obstruction |
| 3.3.9 | Accessible Authentication (Enhanced) (opens in a new tab) | AAA | Partly automated | auth-field-obstruction, captcha-alternative |
Robust
| SC | Success criterion | Level | Automation | Rules in the engine |
|---|---|---|---|---|
| 4.1.2 | Name, Role, Value (opens in a new tab) | A | Partly automated | input-image-alt, form-label, link-name, aria-allowed-attr, aria-attr-valid, aria-field-name, aria-hidden-focus, aria-label-misuse, aria-valid-refs, button-name, composite-widget-name, dialog-name, frame-title, invoker-target, label-for-valid, nested-interactive, role-required-aria, summary-name, valid-role |
| 4.1.3 | Status Messages (opens in a new tab) | AA | Manual review |