Free tool · no signup

WCAG criterion lookup.

Find a specific WCAG success criterion by keyword, level, or principle. Each result links to a dedicated guide with common failures, test methods, and remediation steps.

49 criteria match · 49 total

1.1.1A

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.

PerceivableOpen
1.2.1A

Audio-only and Video-only (Prerecorded)

Prerecorded audio needs a transcript. Prerecorded video-only (silent) needs either a transcript or an audio-described version.

PerceivableOpen
1.2.2A

Captions (Prerecorded)

Prerecorded video with audio needs captions synchronized with the audio. Auto-generated captions are typically not accurate enough.

PerceivableOpen
1.2.3A

Audio 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).

PerceivableOpen
1.2.4AA

Captions (Live)

Live audio (webinars, livestreams, real-time video calls) must include captions in real time.

PerceivableOpen
1.2.5AA

Audio Description (Prerecorded)

Prerecorded video must have an audio-description track (not just a text alternative — actual narration of visuals during pauses).

PerceivableOpen
1.3.1A

Info and Relationships

Information, structure, and relationships conveyed through presentation must be programmatically determined (in the code) or available in text.

PerceivableOpen
1.3.2A

Meaningful 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.

PerceivableOpen
1.3.3A

Sensory Characteristics

Instructions must not rely solely on shape, size, visual position, sound, or orientation.

PerceivableOpen
1.3.4AA

Orientation

Content must not be locked to a single orientation (portrait or landscape) unless essential.

PerceivableOpen
1.3.5AA

Identify Input Purpose

Form inputs collecting user information must be programmatically identifiable (using HTML autocomplete attribute) to enable browser-level autofill and assistive tech personalization.

PerceivableOpen
1.4.1A

Use of Color

Color cannot be the only visual means of conveying information, indicating action, prompting response, or distinguishing a visual element.

PerceivableOpen
1.4.2A

Audio Control

Auto-playing audio longer than 3 seconds must include a pause/stop control or per-track volume control independent from system volume.

PerceivableOpen
1.4.3AA

Contrast (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.

PerceivableOpen
1.4.4AA

Resize Text

Text must be resizable up to 200% without loss of content or functionality (no horizontal scroll, no content cut off).

PerceivableOpen
1.4.5AA

Images of Text

Use real text instead of images of text, except where a particular presentation is essential (logos, branding).

PerceivableOpen
1.4.10AA

Reflow

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).

PerceivableOpen
1.4.11AA

Non-text Contrast

UI components (form input borders, buttons, focus indicators) and meaningful graphics must have a 3:1 contrast ratio against adjacent colors.

PerceivableOpen
1.4.12AA

Text Spacing

When users override line height, letter spacing, word spacing, and paragraph spacing, no content or functionality is lost.

PerceivableOpen
1.4.13AA

Content 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).

PerceivableOpen
2.1.1A

Keyboard

All functionality must be operable through a keyboard interface — no mouse, no touch required.

OperableOpen
2.1.2A

No Keyboard Trap

Keyboard focus must be able to move away from any component using only the keyboard — no traps.

OperableOpen
2.1.4A

Character Key Shortcuts

Single-character keyboard shortcuts (single letters, digits, punctuation) must be either turn-off-able, remappable, or active only on focus.

OperableOpen
2.2.1A

Timing 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.

OperableOpen
2.2.2A

Pause, 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.

OperableOpen
2.3.1A

Three Flashes or Below Threshold

Content must not flash more than three times in any one-second period (to avoid triggering photosensitive seizures).

OperableOpen
2.4.1A

Bypass Blocks

A mechanism to bypass blocks of content repeated on multiple pages (typically navigation) must be available — usually a "skip to main content" link.

OperableOpen
2.4.2A

Page Titled

Every page must have a `<title>` that describes its topic or purpose.

OperableOpen
2.4.3A

Focus Order

Focusable components receive focus in an order that preserves meaning and operability.

OperableOpen
2.4.4A

Link Purpose (In Context)

The purpose of each link must be determinable from the link text alone OR the link text plus the immediate context.

OperableOpen
2.4.5AA

Multiple Ways

More than one way must be available to locate a page within a set of pages (e.g. navigation + search + sitemap).

OperableOpen
2.4.6AA

Headings and Labels

Headings and labels must describe their topic or purpose.

OperableOpen
2.4.7AA

Focus Visible

Keyboard focus indicator must be visible.

OperableOpen
2.5.1A

Pointer Gestures

Multipoint or path-based gestures (pinch, swipe, drag) must have a single-pointer alternative.

OperableOpen
2.5.2A

Pointer 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.

OperableOpen
2.5.3A

Label in Name

For UI components with text labels, the accessible name must contain (and ideally start with) the visible text.

OperableOpen
2.5.4A

Motion Actuation

Functions triggered by device motion (shake to undo, tilt to scroll) must have an alternative, and motion-trigger must be disable-able.

OperableOpen
3.1.1A

Language of Page

The default human language of the page must be programmatically determinable via the `lang` attribute on `<html>`.

UnderstandableOpen
3.1.2AA

Language of Parts

When parts of a page are in a different language, they must be marked with the appropriate `lang` attribute.

UnderstandableOpen
3.2.1A

On Focus

Focusing on a component must not trigger a context change (new window, form submission, focus shift, major content change).

UnderstandableOpen
3.2.2A

On Input

Changing the setting of a UI component must not trigger a context change unless the user has been advised of the behavior beforehand.

UnderstandableOpen
3.2.3AA

Consistent Navigation

Navigation elements repeated across pages must appear in the same relative order.

UnderstandableOpen
3.2.4AA

Consistent Identification

Components with the same functionality must be identified consistently (same label, same icon, same accessible name).

UnderstandableOpen
3.3.1A

Error Identification

When a user input is detected as invalid, the error must be identified and described to the user in text.

UnderstandableOpen
3.3.2A

Labels or Instructions

Labels or instructions must be provided when content requires user input.

UnderstandableOpen
3.3.3AA

Error Suggestion

When a user input error is detected and suggestions are known, the suggestions must be provided to the user.

UnderstandableOpen
3.3.4AA

Error 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.

UnderstandableOpen
4.1.2A

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.

RobustOpen
4.1.3AA

Status Messages

Status messages can be programmatically determined through role or properties so assistive tech can present them without focus change.

RobustOpen

Want every violation found and prioritized?

AccessProof scans your site against every applicable WCAG criterion. Free plan, PDF report, no card.

Run a free WCAG scan