All WCAG 2 Test Rules
Test Rules
These Test Rules have been approved by the Accessibility Guidelines Working Group. They are fully implemented in at least one evaluation tool or methodology.
- HTML page has non-empty title
- Image has non-empty accessible name
- Image button has accessible name
- Link has non-empty accessible name
- Button has non-empty accessible name
- Form field has non-empty accessible name
- meta viewport allows for zoom
- SVG element with explicit role has non-empty accessible name
- HTML page has
lang
attribute - HTML page language is valid
- HTML page lang and xml:lang attributes have matching values
Proposed Test Rules
Proposed test rules will be published when they have at least one implementation and are approved by the AGWG.
aria-*
attribute is defined in WAI-ARIA- Element with
aria-hidden
has no focusable content - ARIA required context role
- ARIA required owned elements
- ARIA state or property is permitted
- ARIA state or property has valid value
- Attribute is not duplicated
audio
orvideo
avoids automatically playing audioaudio
element content has text alternativeaudio
element content has transcriptAudio
orvideo
that plays automatically has no audio that lasts more than 3 secondsaudio
orvideo
that plays automatically has a control mechanism- Text content that changes automatically can be paused, stopped or hidden
autocomplete
attribute has valid value- Block of repeated content is collapsible
- Orientation of the page is not restricted using CSS transform property
- Device motion based changes to the content can be disabled
- Device motion based changes to the content can also be created from the user interface
- Document has an instrument to move focus to non-repeated content
- Document has a landmark with non-repeated content
- Element with
lang
attribute has valid language tag - Element marked as decorative is not exposed
svg
element with explicit role has non-empty accessible name- Focusable element has no keyboard trap
- Focusable element has no keyboard trap via non-standard navigation
- Focusable element has no keyboard trap via standard navigation
- Form field label is descriptive
- Form field has non-empty accessible name
- Heading is descriptive
- HTML page language subtag matches default language
- HTML page title is descriptive
id
attribute value is uniqueiframe
elements with identical accessible names have equivalent purposeiframe
element has non-empty accessible name- iframe with negative tabindex has no interactive elements
- Image accessible name is descriptive
- HTML graphics contain no text
- Image not in the accessibility tree is decorative
- Error message describes invalid form field value
- Letter spacing in
style
attributes is not!important
- Line height in
style
attributes is not!important
- Link is descriptive
- Link in context is descriptive
- Link has non-empty accessible name
- Links with identical accessible names have equivalent purpose
- Links with identical accessible names and context serve equivalent purpose
- Menuitem has non-empty accessible name
meta
element has no refresh delaymeta
element has no refresh delay (no exception)meta
viewport
allows for zoom- Content has alternative for visual reference
- Object element rendering non-text content has non-empty accessible name
- Element with presentational children has no focusable content
role
attribute has valid value- Element with
role
attribute has required states and properties - Scrollable element is keyboard accessible
- Table header cell has assigned cells
headers
attribute specified on a cell refers to cells in the sametable
element- Text has minimum contrast
- Text has enhanced contrast
video
element auditory content has accessible alternativevideo
element content is media alternative for textvideo
element visual content has description trackvideo
element visual-only content is media alternative for textvideo
element visual-only content has audio track alternativevideo
element visual-only content has transcript- Visible label is part of accessible name
- Word spacing in
style
attributes is not!important