Accessibility
Accessibility Audit Coverage
[aria-*] attributes are valid and not misspelled
Rule ID: aria-valid-attr | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[aria-*] attributes match their roles
Rule ID: aria-allowed-attr | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[aria-*] attributes have valid values
Rule ID: aria-valid-attr-value | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: duplicate-id-aria | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: aria-roles | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Buttons have an accessible name
Rule ID: button-name | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Form elements have associated labels
Rule ID: label | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[role]s are contained by their required parent element
Rule ID: aria-required-parent | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[role]s have all required [aria-*] attributes
Rule ID: aria-required-attr | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: aria-required-children | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Select elements have associated label elements
Rule ID: select-name | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[aria-hidden="true"] is not present on the document <body>
Rule ID: aria-hidden-body | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: meta-viewport | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<td> elements in a large <table> have one or more table headers
Rule ID: td-has-header | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
The document does not use <meta http-equiv="refresh">
Rule ID: meta-refresh | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<input type="image"> elements have [alt] text
Rule ID: input-image-alt | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Image elements have [alt] attributes
Rule ID: image-alt | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<video> elements contain a <track> element with [kind="captions"]
Rule ID: video-caption | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Input buttons have discernible text
Rule ID: input-button-name | Ruleset: axe-core 4.11 | User Impact: Critical
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: accesskeys | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Elements with the role=text attribute don't have focusable descendants
Rule ID: aria-text | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[id] attributes on active, focusable elements are unique
Rule ID: duplicate-id-active | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[aria-hidden="true"] elements do not contain focusable descendants
Rule ID: aria-hidden-focus | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
No element has a [tabindex] value greater than 0
Rule ID: tabindex | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
The page contains a heading, skip link, or landmark region
Rule ID: bypass | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
ARIA input fields have accessible names
Rule ID: aria-input-field-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
ARIA meter elements have accessible names
Rule ID: aria-meter-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
ARIA progressbar elements have accessible names
Rule ID: aria-progressbar-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
ARIA toggle fields have accessible names
Rule ID: aria-toggle-field-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
ARIA tooltip elements have accessible names
Rule ID: aria-tooltip-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
ARIA treeitem elements have accessible names
Rule ID: aria-treeitem-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
button, link, and menuitem elements have accessible names
Rule ID: aria-command-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Elements with role="dialog" or role="alertdialog" have accessible names
Rule ID: aria-dialog-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: link-name | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<th> elements and elements with [role="columnheader"/"rowheader"] have data cells they describe
Rule ID: th-has-data-cells | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Elements with visible text labels have matching accessible names
Rule ID: label-content-name-mismatch | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Definition list items are wrapped in <dl> elements
Rule ID: dlitem | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<dl>'s contain only properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements
Rule ID: definition-list | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<frame> or <iframe> elements have a title
Rule ID: frame-title | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
[lang] attributes have a valid value
Rule ID: valid-lang | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
List items (<li>) are contained within <ul>, <ol> or <menu> parent elements
Rule ID: listitem | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Lists contain only <li> elements and script supporting elements (<script> and <template>)
Rule ID: list | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: td-headers-attr | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Document has a <title> element
Rule ID: document-title | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<html> element has a [lang] attribute
Rule ID: html-has-lang | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<html> element has a valid value for its [lang] attribute
Rule ID: html-lang-valid | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Links are distinguishable without relying on color
Rule ID: link-in-text-block | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Background and foreground colors have a sufficient contrast ratio
Rule ID: color-contrast | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<object> elements have alternate text
Rule ID: object-alt | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Tables use <caption> instead of cells with the [colspan] attribute to indicate a caption
Rule ID: table-fake-caption | Ruleset: axe-core 4.11 | User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Rule ID: skip-link | Ruleset: axe-core 4.11 | User Impact: Moderate
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
No form fields have multiple labels
Rule ID: form-field-multiple-labels | Ruleset: axe-core 4.11 | User Impact: Moderate
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Heading elements appear in a sequentially-descending order
Rule ID: heading-order | Ruleset: axe-core 4.11 | User Impact: Moderate
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Document should have one main landmark
Rule ID: landmark-one-main | Ruleset: axe-core 4.11 | User Impact: Moderate
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
<html> element has an [xml:lang] attribute with the same base languge as the [lang] attribute
Rule ID: html-xml-lang-mismatch | Ruleset: axe-core 4.11 | User Impact: Moderate
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), EN 301 549, RGAA
Guide to Accessibility Bug Severity States
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so if you detect something that’s not quiet right, please don’t hesitate to report it to us.
When classifying accessibility (a11y) bugs, severity is usually determined by how heavily the issue blocks a user with disabilities from completing a task.
Here are three standard severity states widely used in digital accessibility testing (adapted from industry standards like Deque's axe-core):
1. Critical (Blocker)
The bug completely prevents a user with a disability from accessing core content or completing a primary workflow. There is absolutely no workaround.
- User Impact: The user is forced to abandon the task entirely.
- Example: A checkout form's "Submit Payment" button cannot be focused or activated using a keyboard or screen reader.
2. Serious (High)
The bug causes significant barriers and frustration, making it highly difficult for a user to accomplish their goal. A workaround might exist, but it requires extreme effort, deep technical know-how, or a stroke of luck.
- User Impact: The experience is highly flawed and exclusionary, often causing users to give up out of frustration.
- Example: A complex navigation menu skips the keyboard focus order entirely, or an important informational infographic completely lacks
alttext, leaving screen reader users in the dark about vital data.
3. Moderate (Medium / Minor)
The bug is an inconvenience or a technical violation of WCAG (Web Content Accessibility Guidelines) success criteria, but it does not completely derail the user experience or stop the user from finishing their task.
- User Impact: The user can still navigate and understand the page, but the experience is clunky or poorly polished.
- Example: A decorative icon is missing an empty
alt=""attribute (causing the screen reader to awkwardly read out the file name like "image-blue-dot-v2.png"), or the visual focus indicator ring has slightly low color contrast against the background but is still somewhat visible.