[accesskey] values are unique
Each access key shortcut is unique so keyboard navigation works correctly.
Missing
[aria-*] attributes match their roles
Accessibility attributes are only used where they are supported.
Missing
button, link, and menuitem elements have accessible names
Buttons, links, and menu items have labels that screen readers can announce.
Missing
ARIA attributes are used as specified for the element's role
Accessibility attributes are only used when the element's role allows them.
Missing
Deprecated ARIA roles were not used
Accessibility roles use current, supported values.
Missing
Elements with role="dialog" or role="alertdialog" have accessible names
Dialog boxes have labels so screen readers can describe their purpose.
Missing
[aria-hidden="true"] is not present on the document <body>
The page body is not hidden from screen readers.
Missing
[aria-hidden="true"] elements do not contain focusable descendents
Interactive elements are not hidden from screen reader users.
Missing
ARIA input fields have accessible names
Form input fields have labels that screen readers can announce.
Missing
ARIA meter elements have accessible names
Meter elements have labels so screen readers can announce their value.
Missing
ARIA progressbar elements have accessible names
Progress bars have labels so screen readers can describe their status.
Missing
Elements use only permitted ARIA attributes
Accessibility attributes are not used where they are prohibited.
Missing
[role]s have all required [aria-*] attributes
Accessibility roles include all required attributes so screen readers can describe the element.
Missing
Elements with an ARIA [role] that require children to contain a specific [role] have all required children
Interactive groups contain all the child elements they need to work correctly.
Missing
[role]s are contained by their required parent element
Interactive elements are nested inside the correct parent container.
Missing
[role] values are valid
Accessibility roles use valid, recognized values.
Missing
Elements with the role=text attribute do not have focusable descendents
Text groupings do not hide interactive elements from screen readers.
Missing
ARIA toggle fields have accessible names
Toggle controls have labels that screen readers can announce.
Missing
ARIA tooltip elements have accessible names
Tooltips have labels so screen readers can describe their content.
Missing
ARIA treeitem elements have accessible names
Tree navigation items have labels that screen readers can announce.
Missing
[aria-*] attributes have valid values
Accessibility attributes use valid values so screen readers can interpret them.
Missing
[aria-*] attributes are valid and not misspelled
Accessibility attributes use valid, recognized names.
Missing
Buttons have an accessible name
Buttons have labels so screen readers can describe their action.
Missing
The page contains a heading, skip link, or landmark region
The page has a skip link so keyboard users can bypass repeated navigation.
Missing
Background and foreground colors have a sufficient contrast ratio
Text and background colors meet minimum contrast ratios.
Missing
<dl>'s contain only properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements
Definition lists use correct markup so screen readers can announce them properly.
Missing
Definition list items are wrapped in <dl> elements
Definition list items are nested inside the correct parent element.
Missing
Document has a <title> element
The page has a descriptive title visible in browser tabs and search results.
Missing
ARIA IDs are unique
Each element has a unique ID so screen readers can reference it correctly.
Missing
No form fields have multiple labels
Each form field has only one label so screen readers announce it correctly.
Missing
<frame> or <iframe> elements have a title
Embedded frames have titles so screen readers can describe their content.
Missing
Heading elements appear in a sequentially-descending order
Page headings follow a logical order without skipping levels.
Missing
<html> element has a [lang] attribute
The page declares its language so screen readers use the correct voice.
Missing
<html> element has a valid value for its [lang] attribute
The page has a valid language code so screen readers pronounce content correctly.
Missing
<html> element has an [xml:lang] attribute with the same base language as the [lang] attribute
The page's language setting is consistent so screen readers pronounce content correctly.
Missing
Image elements have [alt] attributes
Images have descriptive alt text or are marked as decorative.
Missing
Input buttons have discernible text
Input buttons have labels so screen readers can describe their action.
Missing
<input type="image"> elements have [alt] text
Image buttons have alt text that describes their action.
Missing
Form elements have associated labels
Form fields have labels so screen readers can identify them.
Missing
Links are distinguishable without relying on color
Links in body text are visually distinct from surrounding text, not by color alone.
Missing
Links have a discernible name
Links have unique, descriptive text so users know where they go.
Missing
Lists contain only <li> elements and script supporting elements (<script> and <template>)
Lists use correct markup so screen readers can announce them properly.
Missing
List items (<li>) are contained within <ul>, <ol> or <menu> parent elements
List items are nested inside a valid parent list element.
Missing
The document does not use <meta http-equiv="refresh">
The page does not use automatic refresh or redirect tags.
Missing
[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.
Missing
<object> elements have alternate text
Embedded objects have alt text so screen readers can describe their content.
Missing
Select elements have associated label elements
Dropdown menus have labels so screen readers can identify them.
Missing
Skip links are focusable
Skip links are visible and reachable by keyboard so users can bypass navigation.
Missing
No element has a [tabindex] value greater than 0
The page uses natural keyboard tab order without manual overrides.
Missing
Touch targets have sufficient size and spacing
Buttons and interactive elements are large enough to tap easily on touch screens.
Missing
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
<th> elements and elements with [role="columnheader"/"rowheader"] have data cells they describe
Table headers have associated data cells.
Missing
[lang] attributes have a valid value
Language codes on page elements are valid so screen readers pronounce content correctly.
Missing
<video> elements contain a <track> element with [kind="captions"]
Videos include captions for users who are deaf or hard of hearing.
Missing
Document has a main landmark
The page has exactly one main content area so screen readers can navigate to it.
Missing
autocomplete-valid
Missing
presentation-role-conflict
Missing
svg-img-alt
Missing
Tables have different content in the summary attribute and <caption>
Table captions and summaries have different content.
Missing
All heading elements contain content
Headings have visible, descriptive text so screen readers can announce them.
Missing
Uses ARIA roles only on compatible elements
Accessibility roles are only applied to elements that support them.
Missing
Image elements do not have [alt] attributes that are redundant text
Image alt text does not duplicate the surrounding visible text.
Missing
Identical links have the same purpose
Links to the same destination have consistent text across the page.
Missing
Elements with visible text labels have matching accessible names
A button or link's visible label matches what screen readers announce.
Missing
Tables use <caption> instead of cells with the [colspan] attribute to indicate a caption
Tables use the caption element to label their content.
Missing
<td> elements in a large <table> have one or more table headers
Each cell in a large table is linked to a header so screen readers can navigate it.
Missing
Image aspect ratio
Images display at their intended proportions.
Active
Valid doctype
The page has a doctype declaration so browsers render it correctly.
Missing
Character encoding
The page declares its character encoding so text displays correctly.
Standards
·
Status
About accessibility
Meet WCAG standards so every type of user can use your website.
Why it's important
People with disabilities need equal access to information and services online.