List of Axe HTML 4.0 rules
Learn Web Accessibility
Subscribe to our extensive curriculum of online self-paced courses
These are automated accessibility checks. Manual checks are also required. Learn how through our accessibility curriculum.
See the list of axe html versions
- <audio> elements must have a captions <track>
- <blink> elements are deprecated and must not be used
- <dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, or <template> elements
- <dt> and <dd> elements must be contained by a <dl>
- <html> element must have a lang attribute
- <html> element must have a valid value for the lang attribute
- <html> elements with lang and xml:lang must have the same base language
- <li> elements must be contained in a <ul> or <ol>
- <marquee> elements are deprecated and must not be used
- <object> elements must have alternate text
- <ul> and <ol> must only directly contain <li>, <script> or <template> elements
- <video> elements must have a <track> for captions
- <video> elements must have an audio description <track>
- accesskey attribute value must be unique
- Active <area> elements must have alternate text
- All <th> elements and elements with role="columnheader" or role="rowheader" must have data cells they describe
- All cells in a <table> element that use the headers attribute must only refer to other cells of that same <table>
- All non-empty <td> elements in tables larger than 3 by 3 must have an associated table header
- All page content must be contained by landmarks
- All text elements must have sufficient contrast between text in the foreground and background colors behind it in accordance with WCAG 2 AAA contrast ratio thresholds.
- Anchors must only be used as links with valid URLs or URL fragments
- ARIA attributes must conform to valid names
- ARIA attributes must conform to valid values
- ARIA button, link, and menuitem must have an accessible name
- ARIA dialog and alertdialog must have an accessible name
- ARIA input fields must have an accessible name
- ARIA meter must have an accessible name
- ARIA progressbar must have an accessible name
- ARIA role should be appropriate for the element
- ARIA roles used must conform to valid values
- ARIA toggle fields have an accessible name
- ARIA tooltip must have an accessible name
- ARIA treeitem must have an accessible name
- aria-hidden elements do not contain focusable elements
- aria-hidden="true" must not be present on the document <body>
- Audio must have controls that provide users with the ability to stop automatically played audio after three seconds
- Autocomplete attribute must be used correctly
- Banner landmark must not be contained in another landmark
- Bold, italic text and font-size are not used to style <p> elements as a heading
- Buttons must have discernible text
- Certain ARIA roles must be contained by particular parent elements
- Certain ARIA roles must contain particular children
- Checkbox inputs with the same name attribute value must be part of a group
- Complementary landmarks and/or asides are top level
- Contentinfo landmark must not be contained in another landmark
- CSS Media queries are not used to lock display orientation
- Data or header cells should not be used to give caption to a data table
- Documents must contain a title element to aid in navigation
- Elements containing role="img" have an alternative text
- Elements in the focus order need a role appropriate for interactive content
- Elements must only use allowed ARIA attributes
- Elements should not have tabindex greater than zero
- Elements whose role is none or presentation must not conflict with other roles
- Ensure that links with the same accessible name serve a similar purpose
- Ensure that scrollable region has keyboard access
- Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1
- Ensures role="text" is used on elements with no focusable descendants
- Ensures table headers have discernible text
- Ensures the document has at most one main landmark
- Form <input> elements must have labels
- Form <input> elements should have a visible label
- Form fields do not have duplicate labels
- Frames must be tested with axe-core
- Frames must have a unique title attribute
- Frames must have title attribute
- Heading levels should only increase by one
- Headings must not be empty
- Hidden content on the page cannot be analyzed
- ID attribute value must be unique
- ID attribute values must be unique
- IDs used in ARIA and labels must be unique
- Image buttons must have alternate text
- Images must have alternate text
- Inline text spacing must be adjustable with custom stylesheets
- Input buttons must have discernible text
- Label and name from content mismatch
- Landmarks must have a unique role or role/label/title (i.e. accessible name) combination
- lang attribute must have a valid value
- Layout tables must not use data table elements
- Links must be distinguished from surrounding text in a way that does not rely on color
- Links must have discernible text
- Main landmark must not be contained in another landmark
- Nested interactive controls are not announced by screen readers
- Page must contain a level-one heading
- Page must have means to bypass repeated blocks
- Page must have one main landmark
- Page must not have more than one banner landmark
- Page must not have more than one contentinfo landmark
- Radio inputs with the same name attribute value must be part of a group
- Required ARIA attributes must be provided
- Scope attribute should be used correctly on tables
- select element must have an accessible name
- Server-side image maps must not be used
- SVG images and graphics require accessible text
- Text elements must have sufficient color contrast against the background
- Text of buttons and links should not be repeated in the image alternative
- The <caption> element should not contain the same text as the summary attribute
- The skip-link target should exist and be focusable
- Timed refresh must not exist
- Unsupported DPUB ARIA roles should be used on elements with implicit fallback roles
- Use aria-roledescription on elements with a semantic role
- Users should be able to zoom and scale the text up to 500%
- Zooming and scaling must not be disabled
Axe browser extensions
The axe features are integrated into the developer tools.
Contribute to axe on
- You can find the axe-core source code on GitHub.
- See also the axe-core changelog on GitHub.
Deque's Enterprise Suite of Accessibility Tools
- axe DevTools: Empower development teams to find, prevent, and fix accessibility issues while they code.
- axe Auditor: Bring efficient, full-coverage auditing capabilities to your testing teams with this step-by-step manual accessibility testing tool.
- axe Monitor: Dynamically scan, monitor and report on the accessibility status of your site across business and development teams.