Standards
WCAG 2.1 Level AA
WCAG 2.1 Level AA covers 49 Level A and AA success criteria. What HECVAT asks about by name, and what the ADA Title II rule requires of state and local government.
Last reviewed September 2026
All 49 success criteria
Each one is a separate row in a conformance report, with its own judgement and its own remarks. This is the list Affido reports against when you select WCAG 2.1 AA.
1. Perceivable (20)
- 1.1.1Non-text ContentLevel A
- Every image, icon, chart and control needs a text alternative that conveys the same purpose. Presence of an alt attribute is not conformance — judge whether the text actually describes the function or content. Filenames, 'image', 'photo', repeated link text and empty alt on meaningful images all fail.
- 1.2.1Audio-only and Video-only (Prerecorded)Level A
- Prerecorded audio-only needs a transcript; video-only needs an audio description or text alternative.
- 1.2.2Captions (Prerecorded)Level A
- All prerecorded video with audio needs synchronised captions. Auto-generated captions that are not reviewed generally do not meet this.
- 1.2.3Audio Description or Media Alternative (Prerecorded)Level A
- Prerecorded video needs either an audio description track or a full text alternative for the visual information.
- 1.2.4Captions (Live)Level AA
- Live audio in synchronised media needs real-time captions. Not applicable if the product has no live media.
- 1.2.5Audio Description (Prerecorded)Level AA
- Prerecorded video needs an audio description track (the text-alternative escape of 1.2.3 is not available at AA).
- 1.3.1Info and RelationshipsLevel A
- Structure conveyed visually must exist in markup: real headings in a sensible hierarchy, real lists, real table headers, labels programmatically tied to inputs, fieldset/legend for grouped controls. Styled divs that look like headings fail.
- 1.3.2Meaningful SequenceLevel A
- DOM order must match the meaningful reading order. CSS reordering (flex/grid order, absolute positioning) that desynchronises visual and DOM order fails.
- 1.3.3Sensory CharacteristicsLevel A
- Instructions must not rely solely on shape, colour, size, or position — 'click the green button on the right' fails.
- 1.3.4OrientationLevel AA
- Content must not lock to portrait or landscape unless the orientation is essential.
- 1.3.5Identify Input PurposeLevel AA
- Inputs collecting user information need the correct autocomplete token (name, email, tel, street-address, etc.).
- 1.4.1Use of ColorLevel A
- Colour must not be the only way information is conveyed — required-field asterisks in red only, error states that only change border colour, status dots without text labels, and links in body text distinguished only by colour all fail.
- 1.4.2Audio ControlLevel A
- Audio that plays automatically for more than 3 seconds needs a pause/stop or independent volume control.
- 1.4.3Contrast (Minimum)Level AA
- Text needs 4.5:1 contrast (3:1 for large text). Automated measurement is reliable except over images or gradients.
- 1.4.4Resize TextLevel AA
- Text must scale to 200% without loss of content or function. Fixed-height containers with overflow:hidden and viewport meta tags blocking zoom fail.
- 1.4.5Images of TextLevel AA
- Text rendered as an image fails unless the presentation is essential (logos are exempt). Look for headings, banners and pricing tables shipped as images.
- 1.4.10ReflowLevel AA
- Content must reflow to a 320 CSS-pixel width without two-dimensional scrolling. Fixed-width layouts and wide tables that force horizontal scroll fail.
- 1.4.11Non-text ContrastLevel AA
- UI component boundaries and meaningful graphics need 3:1 contrast against adjacent colours — input borders, focus indicators, icon buttons, chart series.
- 1.4.12Text SpacingLevel AA
- No loss of content when line-height is set to 1.5em, paragraph spacing 2em, letter spacing 0.12em, word spacing 0.16em.
- 1.4.13Content on Hover or FocusLevel AA
- Tooltips and hover menus must be dismissible without moving the pointer, hoverable, and persistent until dismissed.
2. Operable (17)
- 2.1.1KeyboardLevel A
- Every function must work from the keyboard. div/span click handlers without tabindex and key handlers, custom dropdowns, drag-only interactions and canvas widgets are the usual failures.
- 2.1.2No Keyboard TrapLevel A
- Keyboard focus must be able to leave every component. Modals, embedded media players and third-party widgets are the usual risk.
- 2.1.4Character Key ShortcutsLevel A
- Single-character shortcuts must be remappable or disableable, or active only on focus.
- 2.2.1Timing AdjustableLevel A
- Time limits (session timeouts, checkout holds, carousels that advance) must be adjustable, extendable or disableable. A 20-hour-plus limit is exempt.
- 2.2.2Pause, Stop, HideLevel A
- Content that moves, blinks, scrolls or auto-updates for more than 5 seconds needs a pause control. Hero carousels and marquees are the usual failure.
- 2.3.1Three Flashes or Below ThresholdLevel A
- Nothing may flash more than three times per second above the general/red flash thresholds.
- 2.4.1Bypass BlocksLevel A
- A skip link, landmark regions or a heading structure must let users bypass repeated navigation.
- 2.4.2Page TitledLevel A
- Each page needs a title that describes its topic or purpose. Identical titles across pages, or a bare brand name, fail.
- 2.4.3Focus OrderLevel A
- Focus order must preserve meaning and operability. Positive tabindex values, modals that do not move focus, and content appended at the end of the DOM but shown at the top are the usual failures.
- 2.4.4Link Purpose (In Context)Level A
- Link purpose must be determinable from the link text plus its context. 'Click here', 'read more', 'learn more' and bare URLs repeated across a page fail. This is the single most common AI-detectable failure.
- 2.4.5Multiple WaysLevel AA
- More than one way to locate a page: navigation plus search, a sitemap, or an index. Exempt if the page is a step in a process.
- 2.4.6Headings and LabelsLevel AA
- Headings and labels must describe topic or purpose. A present-but-vague label ('Input', 'Field 1', 'Section') fails even though automated tools see a label.
- 2.4.7Focus VisibleLevel AA
- Keyboard focus must have a visible indicator. `outline: none` without a replacement is the usual failure.
- 2.5.1Pointer GesturesLevel A
- Multipoint or path-based gestures (pinch, swipe-to-delete) need a single-pointer alternative.
- 2.5.2Pointer CancellationLevel A
- Actions must fire on up-event, not down-event, or be abortable/reversible.
- 2.5.3Label in NameLevel A
- The accessible name must contain the visible label text, so speech-input users can activate the control by saying what they see.
- 2.5.4Motion ActuationLevel A
- Device-motion-triggered functions (shake to undo) need a UI alternative and must be disableable.
3. Understandable (10)
- 3.1.1Language of PageLevel A
- The html element needs a valid lang attribute.
- 3.1.2Language of PartsLevel AA
- Passages in another language need their own lang attribute.
- 3.2.1On FocusLevel A
- Receiving focus must not trigger a change of context — no auto-submit or navigation on focus.
- 3.2.2On InputLevel A
- Changing a setting must not automatically change context unless the user was warned. Selects that navigate on change are the usual failure.
- 3.2.3Consistent NavigationLevel AA
- Repeated navigation must appear in the same relative order across pages.
- 3.2.4Consistent IdentificationLevel AA
- Components with the same function must be identified consistently across pages — a 'Search' button that is 'Find' elsewhere fails.
- 3.3.1Error IdentificationLevel A
- Errors must be identified in text and described to the user, not signalled by colour alone.
- 3.3.2Labels or InstructionsLevel A
- Inputs need labels or instructions. Placeholder-only labelling fails because the text disappears on entry.
- 3.3.3Error SuggestionLevel AA
- When an error is detected and a correction is known, suggest it. 'Invalid input' with no guidance fails.
- 3.3.4Error Prevention (Legal, Financial, Data)Level AA
- Submissions with legal or financial consequence must be reversible, checked, or confirmable.
4. Robust (2)
- 4.1.2Name, Role, ValueLevel A
- Custom controls need a correct accessible name, role and state exposed to assistive technology.
- 4.1.3Status MessagesLevel AA
- Status changes that do not move focus (toasts, 'saved', result counts, validation summaries) need an appropriate live region.
What WCAG 2.1 AA does not cover
6 criteria were added to WCAG after this standard’s reference version. A buyer asking for WCAG 2.1 AA today is likely to ask for WCAG 2.2 eventually, so they are worth knowing about even when they are out of scope:
- 2.4.11 Focus Not Obscured (Minimum) (added in WCAG 2.2)
- 2.5.7 Dragging Movements (added in WCAG 2.2)
- 2.5.8 Target Size (Minimum) (added in WCAG 2.2)
- 3.2.6 Consistent Help (added in WCAG 2.2)
- 3.3.7 Redundant Entry (added in WCAG 2.2)
- 3.3.8 Accessible Authentication (Minimum) (added in WCAG 2.2)
Other standards
- WCAG 2.2 Level AA — 55 criteria. The current version of the guidelines, and the safest answer when a buyer does not name one.
- EN 301 549 (WCAG 2.1 Level AA) — 49 criteria. European public procurement, and the reference point for the European Accessibility Act.
- Section 508 (WCAG 2.0 Level AA) — 37 criteria. US federal procurement. The 2017 refresh of Section 508 incorporates WCAG 2.0 AA.
Affido always evaluates against WCAG 2.2 and reports against whichever standard your buyer asked for, so one scan answers every version of the question.
Start free