Knowledge Base / Cheat-sheets

WCAG 2.1 AA Accessibility Testing

All 50 Level A & AA success criteria, broken down by principle - Perceivable, Operable, Understandable, and Robust. Toggle each item off as you verify it; your progress is saved on this device.

What this checklist covers

Perceivable

Information and user-interface components must be presentable to users in ways they can perceive.

Non-text Content · A

  • Every image conveys its purpose via appropriate alt text (or alt="" if purely decorative).
  • Icon-only buttons, links, and form controls have an accessible name (visually hidden text, aria-label, or title).

Audio-only and Video-only (Prerecorded) · A

  • Prerecorded audio-only content has a text transcript.
  • Prerecorded video-only content has a text or audio alternative describing what's shown.

Captions (Prerecorded) · A

  • All prerecorded video with audio has synchronized captions.
  • Captions include speaker identification and relevant non-speech sounds.

Audio Description or Media Alternative (Prerecorded) · A

  • Prerecorded video has an audio description track, or a full text alternative covering visual-only information.

Captions (Live) · AA

  • Live audio/video content (webinars, livestreams, town halls) has synchronized live captions.

Audio Description (Prerecorded) · AA

  • Prerecorded video has an audio description track covering visual information not already conveyed in the main audio.

Info and Relationships · A

  • Headings use real heading markup (h1-h6) instead of just bold or large text.
  • Data tables use proper header cells (th, scope) tied to their data cells.

Meaningful Sequence · A

  • The DOM/reading order matches the visual reading order of the page.
  • Content still makes sense when read linearly with CSS disabled or by a screen reader.

Sensory Characteristics · A

  • Instructions don't rely solely on shape, position, size, orientation, or sound (e.g. avoid "click the round button on the right").

Orientation · AA

  • Content and functionality work in both portrait and landscape orientation, unless a specific orientation is essential.

Identify Input Purpose · AA

  • Common input fields (name, email, address, phone, etc.) use the correct HTML autocomplete attribute.

Use of Color · A

  • Color is never the only way information, a state, or an action is conveyed (errors also use text/icon, not just red).
  • Links within body text are distinguishable from surrounding text by more than color alone (underline, weight, icon).

Audio Control · A

  • Any audio that plays automatically for more than 3 seconds has a visible control to pause, stop, or mute it.

Contrast (Minimum) · AA

  • Normal body text has a contrast ratio of at least 4.5:1 against its background.
  • Large-scale text (18pt+/14pt bold+) has a contrast ratio of at least 3:1.

Resize Text · AA

  • Text can be resized up to 200% via browser zoom without loss of content or functionality.

Images of Text · AA

  • Text is rendered as real, selectable text rather than an image of text, except for logos or where a specific presentation is essential.

Reflow · AA

  • Content reflows to a single column at 320px width (equivalent to 400% zoom) without requiring horizontal scrolling.
  • Exceptions (maps, data tables, complex diagrams that genuinely need 2D layout) are the only content that scrolls horizontally.

Non-text Contrast · AA

  • UI component boundaries (input borders, button outlines, focus indicators) have at least 3:1 contrast against adjacent colors.
  • Graphical objects required to understand content (icons, chart lines) also meet the 3:1 contrast minimum.

Text Spacing · AA

  • Content remains fully readable and functional when line height, paragraph spacing, letter spacing, and word spacing are increased via user style overrides.

Content on Hover or Focus · AA

  • Additional content shown on hover/focus (tooltips, custom dropdowns) can be dismissed without moving the pointer or focus.
  • That additional content stays visible while the pointer is over it, and remains until dismissed or no longer relevant.

Operable

User-interface components and navigation must be operable by everyone, regardless of input method.

Keyboard · A

  • All functionality is operable through a keyboard interface alone, with no interaction that requires a mouse or touch.
  • Custom widgets (menus, sliders, modals, tabs) follow the keyboard interaction pattern expected for their ARIA role.

No Keyboard Trap · A

  • Keyboard focus can always be moved away from any component, including modals and embedded widgets, using only the keyboard.

Character Key Shortcuts · A

  • Single-character keyboard shortcuts can be turned off, remapped, or are only active while a specific component has focus.

Timing Adjustable · A

  • Any time limit (session timeout, timed quiz) can be turned off, adjusted, or extended by the user before it expires.

Pause, Stop, Hide · A

  • Moving, blinking, scrolling, or auto-updating content has a mechanism to pause, stop, or hide it.

Three Flashes or Below Threshold · A

  • Nothing on the page flashes more than three times per second.

Bypass Blocks · A

  • A "skip to main content" link or landmark regions let keyboard users bypass repeated navigation blocks.

Page Titled · A

  • Every page has a unique, descriptive page title that reflects its content or purpose.

Focus Order · A

  • Tab order follows a logical sequence that matches the page's visual and reading order.

Link Purpose (In Context) · A

  • Link text (or its immediate surrounding context) describes the link's purpose without relying on "click here" or "read more" alone.

Multiple Ways · AA

  • More than one way exists to locate a page within the site (nav menu plus search, sitemap, or related links), unless the page is a step in a process.

Headings and Labels · AA

  • Headings and form labels describe their topic or purpose clearly and specifically, not generically.

Focus Visible · AA

  • Every interactive element shows a visible focus indicator when it receives keyboard focus - never suppressed with outline: none.

Pointer Gestures · A

  • Any multipoint or path-based gesture (pinch-to-zoom, swipe) has a single-pointer alternative such as a button.

Pointer Cancellation · A

  • Pointer-triggered actions can be aborted (e.g. by moving off the target before releasing) or are triggered on up-event, not down-event.

Label in Name · A

  • A control's visible text label is included in (or matches) its accessible name, so voice-control and switch-access users can reference it.

Motion Actuation · A

  • Functions triggered by device motion (shaking, tilting) also have a standard UI control alternative, and motion triggers can be disabled.

Understandable

Information and the operation of the user interface must be understandable.

Language of Page · A

  • The page's primary language is set via the html lang attribute.

Language of Parts · AA

  • Passages written in a different language than the page's primary language have their own lang attribute.

On Focus · A

  • Moving keyboard focus to an element never triggers an unexpected change of context (new window, auto-submit, focus jump).

On Input · A

  • Changing a form field's value never automatically triggers an unexpected change of context unless the user is warned in advance.

Consistent Navigation · AA

  • Navigation menus and other repeated components appear in the same relative order across every page.

Consistent Identification · AA

  • Components with the same function (e.g. a "search" icon) are labeled and styled consistently across the site.

Error Identification · A

  • Form validation errors are identified in text and programmatically associated with the field that's in error.

Labels or Instructions · A

  • Form fields have visible labels or instructions describing what input is expected, including any required format.

Error Suggestion · AA

  • When an input error is detected, a specific suggestion for fixing it is provided, unless that would compromise security or purpose.

Error Prevention (Legal, Financial, Data) · AA

  • For legal, financial, or data-modifying submissions, users can review, confirm, or reverse the submission before it's finalized.

Robust

Content must be robust enough to be interpreted reliably by a wide variety of user agents, including assistive technologies.

Parsing · A

  • Markup has no duplicate IDs, unclosed tags, or improperly nested elements that could confuse assistive technology.

Name, Role, Value · A

  • Every custom UI component exposes an accessible name, role, and state/value via native semantics or ARIA.
  • State changes (expanded/collapsed, checked/unchecked, selected) are programmatically exposed and update in real time.

Status Messages · AA

  • Status messages (form success, search results count, loading states) are announced via ARIA live regions without requiring focus to move there.