[aria-*] attributes match their roles
Accessibility attributes are only used where they are supported.
Active
ARIA attributes are used as specified for the element's role
Accessibility attributes are only used when the element's role allows them.
Active
[aria-hidden="true"] is not present on the document <body>
The page body is not hidden from screen readers.
Active
Elements use only permitted ARIA attributes
Accessibility attributes are not used where they are prohibited.
Active
[aria-*] attributes have valid values
Accessibility attributes use valid values so screen readers can interpret them.
Active
[aria-*] attributes are valid and not misspelled
Accessibility attributes use valid, recognized names.
Active
Buttons have an accessible name
Buttons have labels so screen readers can describe their action.
Active
Background and foreground colors have a sufficient contrast ratio
Text and background colors meet minimum contrast ratios.
Active
Document has a <title> element
The page has a descriptive title visible in browser tabs and search results.
Missing
Heading elements appear in a sequentially-descending order
Page headings follow a logical order without skipping levels.
Active
<html> element has a [lang] attribute
The page declares its language so screen readers use the correct voice.
Active
<html> element has a valid value for its [lang] attribute
The page has a valid language code so screen readers pronounce content correctly.
Active
Image elements have [alt] attributes
Images have descriptive alt text or are marked as decorative.
Missing
Links have a discernible name
Links have unique, descriptive text so users know where they go.
Active
[user-scalable="no"] is not used in the <meta name="viewport"> element and the [maximum-scale] attribute is not less than 5
The page allows users to zoom in on mobile devices.
Active
Touch targets have sufficient size and spacing
Buttons and interactive elements are large enough to tap easily on touch screens.
Active
Cells in a <table> element that use the [headers] attribute refer to table cells within the same table
Table data cells correctly reference their header cells.
Missing
Document has a main landmark
The page has exactly one main content area so screen readers can navigate to it.
Active
Tables use <caption> instead of cells with the [colspan] attribute to indicate a caption
Tables use the caption element to label their content.
Missing
Image aspect ratio
Images display at their intended proportions.
Active
Valid doctype
The page has a doctype declaration so browsers render it correctly.
Active
Character encoding
The page declares its character encoding so text displays correctly.