Marker.io runs every page against 90 automated accessibility checks, built on the axe-core engine and the WCAG standard. This is the full list. Each check's severity sets its weight in your accessibility score: the higher the severity, the more a failing check pulls your score down. For how the score itself is calculated, see Understanding your accessibility score and checks.
In-product, you can also filter checks by category: Content & readability, Images & media, Interactive elements, Code quality, and Page structure.
How weight works
A check's severity decides how much weight it carries when we calculate your score.
Potential issues carry no weight, whatever their severity. The scanner can't confirm them on its own, so Marker.io leaves them out of your score.
Severity | Weight |
Critical | 10 |
Serious | 5 |
Medium | 2 |
Low | 1 |
A Critical check counts 10 times as much as a Low one, so fixing Critical issues moves your score the most.
All checks
Ordered by weight, highest first. Tip: use your browser's find (Cmd+F or Ctrl+F) to jump to a specific check.
Check | Severity | Category |
Required ARIA attributes are present | Critical | Code Quality |
Document body does not use ARIA hidden | Critical | Code Quality |
ARIA attribute names are valid | Critical | Code Quality |
ARIA role values are valid | Critical | Code Quality |
ARIA attribute values are valid | Critical | Code Quality |
IDs used in ARIA and labels are unique | Critical | Code Quality |
ARIA attributes are allowed for the element's role | Critical | Code Quality |
ARIA roles contain their required child roles | Critical | Code Quality |
ARIA roles are contained by their required parent roles | Critical | Code Quality |
Frames are reachable for accessibility scanning | Critical | Page Structure |
Meta refresh is not used for delayed refresh | Critical | Page Structure |
Input buttons have discernible text | Critical | Interactive Elements |
Buttons have an accessible name | Critical | Interactive Elements |
Form elements have associated labels | Critical | Interactive Elements |
Image buttons have alt text | Critical | Interactive Elements |
Select elements have associated labels | Critical | Interactive Elements |
Image map areas have alt text | Critical | Images & Media |
Videos have captions | Critical | Images & Media |
Images have alt text | Critical | Images & Media |
Lists use correct semantic markup | Serious | Code Quality |
ARIA attributes are not prohibited for the element's role | Serious | Code Quality |
ARIA braille attributes have non-braille equivalents | Serious | Code Quality |
ARIA hidden elements don't contain focusable content | Serious | Code Quality |
Accesskey values are unique | Serious | Code Quality |
ARIA dialogs have an accessible name | Serious | Code Quality |
ARIA toggle fields have an accessible name | Serious | Code Quality |
ARIA meters have an accessible name | Serious | Code Quality |
ARIA progress bars have an accessible name | Serious | Code Quality |
ARIA input fields have an accessible name | Serious | Code Quality |
Role="text" elements have no focusable children | Serious | Code Quality |
ARIA tree items have an accessible name | Serious | Code Quality |
ARIA buttons, links, and menu items have accessible names | Serious | Code Quality |
ARIA attributes are used as specified for the role | Serious | Code Quality |
ARIA tooltips have an accessible name | Serious | Code Quality |
Definition lists are properly structured | Serious | Code Quality |
List items are inside a list | Serious | Code Quality |
Definition list items are inside a definition list | Serious | Code Quality |
Page has a lang attribute | Serious | Page Structure |
Page has a non-empty title | Serious | Page Structure |
Table cell headers reference IDs in the same table | Serious | Page Structure |
Frames have a title | Serious | Page Structure |
Page lang attribute is valid | Serious | Page Structure |
Table headers have associated data cells | Serious | Page Structure |
Frame titles are unique | Serious | Page Structure |
Inline lang attributes are valid | Serious | Page Structure |
Form field autocomplete attributes are valid | Serious | Interactive Elements |
Focusable frames are keyboard reachable | Serious | Interactive Elements |
Links have a discernible name | Serious | Interactive Elements |
Scrollable regions are keyboard reachable | Serious | Interactive Elements |
Page has a mechanism to bypass navigation | Serious | Interactive Elements |
Touch targets are large enough | Serious | Interactive Elements |
Summary elements have discernible text | Serious | Interactive Elements |
Interactive controls are not nested | Serious | Interactive Elements |
Tabindex values are not positive | Serious | Interactive Elements |
Links are distinguishable without color alone | Serious | Interactive Elements |
Form labels are visible, not only in title attribute | Serious | Interactive Elements |
Inline text spacing can be adjusted | Serious | Content & Readability |
Text contrast meets accessibility standards (AA) | Serious | Images & Media |
Object elements have alt text | Serious | Images & Media |
Deprecated blink elements are not used | Serious | Images & Media |
Deprecated marquee elements are not used | Serious | Images & Media |
SVG images have alt text | Serious | Images & Media |
Role="img" elements have alt text | Serious | Images & Media |
Viewport allows zooming and scaling | Medium | Page Structure |
Page has an H1 heading | Medium | Page Structure |
Heading levels follow a logical order | Medium | Page Structure |
Page has only one main landmark | Medium | Page Structure |
Page content is contained in landmarks | Medium | Page Structure |
Page has a main landmark | Medium | Page Structure |
Table scope attributes are valid | Medium | Page Structure |
Main landmark is at top level | Medium | Page Structure |
Contentinfo landmark is at top level | Medium | Page Structure |
Landmarks have unique accessible names | Medium | Page Structure |
Complementary landmark is at top level | Medium | Page Structure |
Page has only one banner landmark | Medium | Page Structure |
Banner landmark is at top level | Medium | Page Structure |
Page has only one contentinfo landmark | Medium | Page Structure |
HTML lang and xml:lang attributes match | Medium | Page Structure |
Form fields have a single label | Medium | Interactive Elements |
Skip link targets exist and are focusable | Medium | Interactive Elements |
Audio does not autoplay without stop or mute controls | Medium | Images & Media |
ARIA role is appropriate for the element | Low | Code Quality |
Presentational elements have no global ARIA | Low | Code Quality |
ARIA roles are not deprecated | Low | Code Quality |
Headings are not empty | Low | Page Structure |
Table headers are not empty | Low | Page Structure |
Viewport can scale significantly | Low | Page Structure |
Table caption and summary differ | Low | Page Structure |
Alt text is not redundant with adjacent text | Low | Images & Media |
Server-side image maps are not used | Low | Images & Media |
Need Help?
If you have any questions, comments, or corrections, chat with us at the bottom right of our web pages.
