Accessibility checks explained
RampCheck runs 98 automated checks on every page, using the open-source axe-core engine. Each one is explained here the way it is in a report: who it affects, why it matters and how to fix it.
Checks marked “best practice” are recommendations. They are not WCAG success criteria and are never counted as failures in a draft accessibility statement.
Content
- Meters have no accessible name · WCAG 1.1.1 · Level A
- Progress bars have no accessible name · WCAG 1.1.1 · Level A
- Tooltips have no accessible name · WCAG 4.1.2 · Level A
- Table header cells are empty · Best practice
- Images have no text alternative · WCAG 1.1.1 · Level A
- Image alt text duplicates nearby visible text · Best practice
- Embedded objects have no text alternative · WCAG 1.1.1 · Level A
- Elements with role="img" have no text alternative · WCAG 1.1.1 · Level A
- Table scope attributes are used incorrectly · Best practice
- SVG graphics have no accessible name · WCAG 1.1.1 · Level A
- Tables repeat the same caption and summary · Best practice
- Table cells are used as a caption · WCAG 1.3.1 · Level A
- Data cells in large tables have no header · WCAG 1.3.1 · Level A
- Table cells reference headers that do not exist · WCAG 1.3.1 · Level A
- Table headers are not linked to their data · WCAG 1.3.1 · Level A
Forms and controls
- Custom buttons, links or menu items have no accessible name · WCAG 4.1.2 · Level A
- Dialogs have no accessible name · Best practice
- Custom input widgets have no accessible name · WCAG 4.1.2 · Level A
- Custom checkboxes, switches or radio buttons have no accessible name · WCAG 4.1.2 · Level A
- Form fields use invalid autocomplete values · WCAG 1.3.5 · Level AA
- Buttons have no discernible text · WCAG 4.1.2 · Level A
- Form field has more than one label · WCAG 3.3.2 · Level A
- Form buttons have no accessible name · WCAG 4.1.2 · Level A
- Image buttons have no text alternative · WCAG 1.1.1, 4.1.2 · Level A
- Form fields have no associated label · WCAG 4.1.2 · Level A
- Visible button text differs from its accessible name · WCAG 2.5.3 · Level A
- Form fields are labelled only by a tooltip · Best practice
- Interactive controls are nested inside each other · WCAG 4.1.2 · Level A
- Select menus have no accessible name · WCAG 4.1.2 · Level A
- Expandable sections have no visible label · WCAG 4.1.2 · Level A
Navigation
- Image-map areas have no text alternative · WCAG 2.4.4, 4.1.2 · Level A
- Tabs have no accessible name · WCAG 4.1.2 · Level A
- Tree items have no accessible name · Best practice
- Links have no discernible text · WCAG 2.4.4, 4.1.2 · Level A
- Server-side image maps are used · WCAG 2.1.1 · Level A
Keyboard
- Duplicate access keys · Best practice
- Hidden elements can still receive keyboard focus · WCAG 4.1.2 · Level A
- Elements with role="text" contain focusable content · Best practice
- No way to skip repeated navigation · WCAG 2.4.1 · Level A
- Focusable elements have no suitable role · Best practice
- Frames with interactive content cannot be reached by keyboard · WCAG 2.1.1 · Level A
- Scrollable areas cannot be reached by keyboard · WCAG 2.1.1, 2.1.3 · Level A
- Skip links point to nothing · Best practice
- Positive tabindex values disrupt focus order · Best practice
Visual design
- Text spacing cannot be adjusted · WCAG 1.4.12 · Level AA
- Text does not have enough contrast against its background · WCAG 1.4.3 · Level AA
- The page is locked to portrait or landscape · WCAG 1.3.4 · Level AA
- Links are distinguished only by colour · WCAG 1.4.1 · Level A
- Zoom is disabled on mobile · WCAG 1.4.4 · Level AA
- Zoom is limited on mobile · Best practice
- Touch targets are too small · WCAG 2.5.8 · Level AA
Page structure
- The page has no title · WCAG 2.4.2 · Level A
- Headings contain no text · Best practice
- Iframes have no title · WCAG 4.1.2 · Level A
- Several frames share the same title · WCAG 4.1.2 · Level A
- Heading levels are skipped or out of order · Best practice
- The page does not declare its language · WCAG 3.1.1 · Level A
- The declared page language is not valid · WCAG 3.1.1 · Level A
- The lang and xml:lang attributes disagree · WCAG 3.1.1 · Level A
- The page header is nested inside another region · Best practice
- Sidebars are nested inside other regions · Best practice
- The page footer is nested inside another region · Best practice
- The main content region is nested inside another region · Best practice
- The page has more than one header region · Best practice
- The page has more than one footer region · Best practice
- The page has more than one main region · Best practice
- The page has no main landmark · Best practice
- Page regions cannot be told apart · Best practice
- The page refreshes or redirects automatically · WCAG 2.2.1 · Level A
- Bold paragraphs are used instead of headings · WCAG 1.3.1 · Level A
- The page has no level-one heading · Best practice
- Content sits outside any landmark region · Best practice
- Inline language changes use invalid codes · WCAG 3.1.2 · Level AA
Media
- Audio has no transcript or captions · WCAG 1.2.1 · Level A
- Blinking content · WCAG 2.2.2 · Level A
- Scrolling marquee content · WCAG 2.2.2 · Level A
- Audio or video plays sound automatically · WCAG 1.4.2 · Level A
- Video has no captions · WCAG 1.2.2 · Level A
Code quality
- ARIA attributes used on the wrong elements · WCAG 4.1.2 · Level A
- ARIA roles that do not suit the element · Best practice
- Braille-only ARIA attributes have no spoken equivalent · WCAG 4.1.2 · Level A
- ARIA attributes used in ways the role does not allow · WCAG 4.1.2 · Level A
- Deprecated ARIA roles are used · WCAG 4.1.2 · Level A
- The page body is hidden from assistive technology · WCAG 1.3.1, 4.1.2 · Level A
- ARIA labels placed on elements that cannot carry them · WCAG 4.1.2 · Level A
- ARIA roles are missing their required attributes · WCAG 4.1.2 · Level A
- Menus, lists or tabs are missing their required child elements · WCAG 1.3.1 · Level A
- Items sit outside the container they belong to · WCAG 1.3.1 · Level A
- aria-roledescription is used on elements without a suitable role · WCAG 4.1.2 · Level A
- Invalid ARIA role values · WCAG 4.1.2 · Level A
- Misspelled or non-existent ARIA attributes · WCAG 4.1.2 · Level A
- ARIA attributes have invalid values · WCAG 4.1.2 · Level A
- Definition lists are malformed · WCAG 1.3.1 · Level A
- Definition terms or descriptions sit outside a definition list · WCAG 1.3.1 · Level A
- Labels point at IDs that are used more than once · WCAG 4.1.2 · Level A
- Lists contain invalid child elements · WCAG 1.3.1 · Level A
- List items are not inside a list · WCAG 1.3.1 · Level A
- Decorative elements are not consistently hidden · Best practice
Check your own website
The free scan tests 3 pages against WCAG 2.2 A and AA in about 30 seconds. No sign-up.