All 49 WCAG criteria, one page each.
Dedicated guide for every WCAG 2.1 + 2.2 Level A and AA success criterion. What it means, common failures, how to test, how to fix.
Perceivable
20 criteria — Level A and AA.
Non-text Content
All non-text content (images, icons, charts, video thumbnails) must have a text alternative that conveys the same purpose. Decorative content gets an empty alt.
Read guideAudio-only and Video-only (Prerecorded)
Prerecorded audio needs a transcript. Prerecorded video-only (silent) needs either a transcript or an audio-described version.
Read guideCaptions (Prerecorded)
Prerecorded video with audio needs captions synchronized with the audio. Auto-generated captions are typically not accurate enough.
Read guideAudio Description or Media Alternative (Prerecorded)
Prerecorded video must include audio description of visual content, OR a full media alternative (text transcript including descriptions of visuals).
Read guideCaptions (Live)
Live audio (webinars, livestreams, real-time video calls) must include captions in real time.
Read guideAudio Description (Prerecorded)
Prerecorded video must have an audio-description track (not just a text alternative — actual narration of visuals during pauses).
Read guideInfo and Relationships
Information, structure, and relationships conveyed through presentation must be programmatically determined (in the code) or available in text.
Read guideMeaningful Sequence
When the order of content matters, the order must be programmatically determined — so screen readers and other assistive tech read it in the right order.
Read guideSensory Characteristics
Instructions must not rely solely on shape, size, visual position, sound, or orientation.
Read guideOrientation
Content must not be locked to a single orientation (portrait or landscape) unless essential.
Read guideIdentify Input Purpose
Form inputs collecting user information must be programmatically identifiable (using HTML autocomplete attribute) to enable browser-level autofill and assistive tech personalization.
Read guideUse of Color
Color cannot be the only visual means of conveying information, indicating action, prompting response, or distinguishing a visual element.
Read guideAudio Control
Auto-playing audio longer than 3 seconds must include a pause/stop control or per-track volume control independent from system volume.
Read guideContrast (Minimum)
Text and images of text must have a contrast ratio of at least 4.5:1 against the background. Large text (18pt+ or 14pt bold+) needs only 3:1.
Read guideResize Text
Text must be resizable up to 200% without loss of content or functionality (no horizontal scroll, no content cut off).
Read guideImages of Text
Use real text instead of images of text, except where a particular presentation is essential (logos, branding).
Read guideReflow
Content must reflow at 320 CSS pixels width (equivalent to 1280px at 400% zoom) without horizontal scrolling, except for content that requires 2D layout (data tables, maps, diagrams).
Read guideNon-text Contrast
UI components (form input borders, buttons, focus indicators) and meaningful graphics must have a 3:1 contrast ratio against adjacent colors.
Read guideText Spacing
When users override line height, letter spacing, word spacing, and paragraph spacing, no content or functionality is lost.
Read guideContent on Hover or Focus
Tooltips, popovers, or other content that appears on hover/focus must be dismissable, hoverable (stays open when pointer moves to it), and persistent (does not auto-dismiss).
Read guideOperable
17 criteria — Level A and AA.
Keyboard
All functionality must be operable through a keyboard interface — no mouse, no touch required.
Read guideNo Keyboard Trap
Keyboard focus must be able to move away from any component using only the keyboard — no traps.
Read guideCharacter Key Shortcuts
Single-character keyboard shortcuts (single letters, digits, punctuation) must be either turn-off-able, remappable, or active only on focus.
Read guideTiming Adjustable
Any time limit set by the content must be either turn-off-able, adjustable to 10× the default, or warn the user with at least 20s to extend.
Read guidePause, Stop, Hide
Moving, blinking, scrolling, or auto-updating information that starts automatically, lasts more than 5 seconds, and is presented in parallel with other content, must be pausable, stoppable, or hideable.
Read guideThree Flashes or Below Threshold
Content must not flash more than three times in any one-second period (to avoid triggering photosensitive seizures).
Read guideBypass Blocks
A mechanism to bypass blocks of content repeated on multiple pages (typically navigation) must be available — usually a "skip to main content" link.
Read guidePage Titled
Every page must have a `<title>` that describes its topic or purpose.
Read guideFocus Order
Focusable components receive focus in an order that preserves meaning and operability.
Read guideLink Purpose (In Context)
The purpose of each link must be determinable from the link text alone OR the link text plus the immediate context.
Read guideMultiple Ways
More than one way must be available to locate a page within a set of pages (e.g. navigation + search + sitemap).
Read guideHeadings and Labels
Headings and labels must describe their topic or purpose.
Read guideFocus Visible
Keyboard focus indicator must be visible.
Read guidePointer Gestures
Multipoint or path-based gestures (pinch, swipe, drag) must have a single-pointer alternative.
Read guidePointer Cancellation
Single-pointer actions (clicks, taps) must trigger on the up-event, OR provide an abort/undo mechanism — so users can release outside the target to cancel.
Read guideLabel in Name
For UI components with text labels, the accessible name must contain (and ideally start with) the visible text.
Read guideMotion Actuation
Functions triggered by device motion (shake to undo, tilt to scroll) must have an alternative, and motion-trigger must be disable-able.
Read guideUnderstandable
10 criteria — Level A and AA.
Language of Page
The default human language of the page must be programmatically determinable via the `lang` attribute on `<html>`.
Read guideLanguage of Parts
When parts of a page are in a different language, they must be marked with the appropriate `lang` attribute.
Read guideOn Focus
Focusing on a component must not trigger a context change (new window, form submission, focus shift, major content change).
Read guideOn Input
Changing the setting of a UI component must not trigger a context change unless the user has been advised of the behavior beforehand.
Read guideConsistent Navigation
Navigation elements repeated across pages must appear in the same relative order.
Read guideConsistent Identification
Components with the same functionality must be identified consistently (same label, same icon, same accessible name).
Read guideError Identification
When a user input is detected as invalid, the error must be identified and described to the user in text.
Read guideLabels or Instructions
Labels or instructions must be provided when content requires user input.
Read guideError Suggestion
When a user input error is detected and suggestions are known, the suggestions must be provided to the user.
Read guideError Prevention (Legal, Financial, Data)
For pages that cause legal commitments, financial transactions, or modify/delete user-controllable data, submissions must be reversible, checked, or confirmed.
Read guideRobust
2 criteria — Level A and AA.
Name, Role, Value
For all UI components, the name and role must be programmatically determinable; states, properties, and values that can be set by the user must be programmatically settable; and notification of changes to these must be available to user agents.
Read guideStatus Messages
Status messages can be programmatically determined through role or properties so assistive tech can present them without focus change.
Read guideFind every WCAG violation on your site in 42 seconds.
AccessProof scans against all 49 criteria above (plus the rest of the WCAG 2.2 spec). Free plan, no card required.