> ## Documentation Index
> Fetch the complete documentation index at: https://docs.37audits.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lighthouse Accessibility Auditor

> Runs the Google Lighthouse Accessibility category on the page and scores it against configurable thresholds

<Info>
  **Accessibility Auditor** — runs the [Google Lighthouse](https://github.com/GoogleChrome/lighthouse) Accessibility category against the monitored page and reports its score: below 90 is a warning and below 50 is a failure, both thresholds set per monitored URL. Every audit Lighthouse lists under the score is a check of its own, with Lighthouse's own description and the offending elements.
</Info>

<CardGroup cols={2}>
  <Card title="Same score as PageSpeed" icon="universal-access">
    The score is the one Lighthouse computes from axe-core, so it matches Chrome DevTools and PageSpeed Insights.
  </Card>

  <Card title="Fast" icon="bolt">
    No performance trace is recorded, so the run finishes seconds after the page loads.
  </Card>
</CardGroup>

This auditor starts a headless Chromium, lets Lighthouse load the page with the desktop preset (or the mobile profile, by preference) and run only its Accessibility audits, and reads the category score from the report. It tells you whether the page works with assistive technology: the Accessibility score Lighthouse computes from its axe-core audits. The check names the lowest-scoring audits of the category, so the report says what to fix first. Lighthouse's Accessibility audits cover colour contrast, image alternative text, form labels, button and link names, heading order, ARIA attributes, language declaration and keyboard focus.

The Lighthouse Accessibility auditor is one of four auditors that share one Lighthouse image; the others are Lighthouse Performance, Lighthouse Accessibility, Lighthouse Best Practices and Lighthouse SEO. Enable the ones a URL needs: each runs its own Lighthouse pass.

## How it works

1. **Thresholds** — reads `formFactor`, `warningBelowScore` and `failBelowScore`. When `failBelowScore` is not lower than `warningBelowScore` the audit fails with a single check (`401`) and Lighthouse does not run.
2. **Lighthouse run** — runs the Lighthouse CLI (version pinned in the image, reported in the `100` check) with the `accessibility` category only, the `desktop` preset or the `mobile` form factor, and the 37AuditsBot user agent. The run has a time budget derived from the audit's remaining time; a page that does not finish loading inside it is an `ERROR` (`500`).
3. **Blocked or unloadable page** — an HTTP 403, 429 or Cloudflare challenge on the document is the platform's blocked response (`590`). Any other Lighthouse runtime error (`NO_FCP`, `PAGE_HUNG`, `DNS_FAILURE`, `ERRORED_DOCUMENT_REQUEST`, …) is an `ERROR` (`500`) that names the error.
4. **Score** — the Accessibility score (0–100) is compared with the thresholds: below `failBelowScore` is `FAIL` (`400`), from `failBelowScore` up to but excluding `warningBelowScore` is `WARNING` (`300`). A category Lighthouse could not score is an `ERROR` (`501`). At or above `warningBelowScore` the audit succeeds (`200`).
5. **Audits** — every audit Lighthouse lists under the Accessibility score becomes a check: a scored audit below Lighthouse's pass mark (0.9) is a `FAIL` whose code is 400 plus the audit's fixed number in this auditor's catalog (52 audits, `410`–`476`); an audit Lighthouse reports without a score or leaves to a manual check is an `INFORMATION` with 100 plus that number. An audit a newer Lighthouse adds gets `490` or `190` until the catalog is updated. Hidden Lighthouse audits and audits that do not apply to the page are not reported. These checks keep their own status but never change the result: the score alone decides it.
6. **Report pin** — every result carries an `INFORMATION` check (`100`) with the Lighthouse and Chrome versions, the device profile, the run duration and Lighthouse's benchmark index, because scores are only comparable between runs of the same Lighthouse version.

The Lighthouse navigation is **not** signed with Web Bot Auth: Lighthouse opens its own browser target and its only header hook adds headers to every request of the page, which breaks cross-origin fetches. Allowlist the 37AuditsBot user agent if the site challenges unsigned bots. With Basic auth the `Authorization` header is sent on every request the page makes, third-party origins included, so prefer allowlisting over credentials for a staging site that loads third-party scripts.

## Preferences

| Key | Type | Default | Description |
| - | - | - | - |
| `formFactor` | string | `desktop` | `desktop` (Lighthouse desktop preset: no CPU slowdown, fast network) or `mobile` (Moto G Power emulation, simulated 4G and 4x CPU slowdown, the PageSpeed Insights default). Any other value falls back to `desktop`. |
| `warningBelowScore` | integer (1–100) | `90` | A Accessibility score below this value produces a `WARNING` (`300`). |
| `failBelowScore` | integer (0–99) | `50` | A Accessibility score below this value produces a `FAIL` (`400`). Must be lower than `warningBelowScore`. |

An invalid value (missing, fractional, outside 0–100) makes the auditor fall back to that preference's default and log a warning. A fail threshold equal to or above the warning threshold is not an invalid value: it makes the audit fail (`401`) until the thresholds are fixed.

## What it audits

Every row maps to one `checkRule*` method and one `CheckCode`.

| CheckCode | Status | When it fires | Recommendation | Why it matters |
| - | - | - | - | - |
| <a id="37A-LighthouseAccessibilityAuditor-100" />`37A-LighthouseAccessibilityAuditor-100` | `INFORMATION` | Always. Records the Lighthouse and Chrome versions, the device profile, the run duration and the benchmark index: `Lighthouse 12.8.2 on Chrome 138.0.7204.0 audited the page as desktop in 18 s (benchmark index 2186).` | — (recommendation is `null`; nothing for the site to change) | — |
| <a id="37A-LighthouseAccessibilityAuditor-134" />`37A-LighthouseAccessibilityAuditor-134` | `INFORMATION` | Lighthouse reports audit `bypass` without a score: The page contains a heading, skip link, or landmark region. Message: `The page contains a heading, skip link, or landmark region: {display value or item count} (Lighthouse Accessibility audit bypass, desktop; reported without a score).` | Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. Learn more about bypass blocks ([https://dequeuniversity.com/rules/axe/4.10/bypass](https://dequeuniversity.com/rules/axe/4.10/bypass)). Found: `{up to three items}`. | — |
| <a id="37A-LighthouseAccessibilityAuditor-139" />`37A-LighthouseAccessibilityAuditor-139` | `INFORMATION` | Lighthouse reports audit `duplicate-id-aria` without a score: ARIA IDs are unique. Message: `ARIA IDs are unique: {display value or item count} (Lighthouse Accessibility audit duplicate-id-aria, desktop; reported without a score).` | The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. Learn how to fix duplicate ARIA IDs ([https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria](https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria)). Found: `{up to three items}`. | — |
| <a id="37A-LighthouseAccessibilityAuditor-140" />`37A-LighthouseAccessibilityAuditor-140` | `INFORMATION` | Lighthouse reports audit `form-field-multiple-labels` without a score: No form fields have multiple labels. Message: `No form fields have multiple labels: {display value or item count} (Lighthouse Accessibility audit form-field-multiple-labels, desktop; reported without a score).` | Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. Learn how to use form labels ([https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels](https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels)). Found: `{up to three items}`. | — |
| <a id="37A-LighthouseAccessibilityAuditor-164" />`37A-LighthouseAccessibilityAuditor-164` | `INFORMATION` | Lighthouse reports audit `th-has-data-cells` without a score: `<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.. Message: `<th> elements and elements with [role="columnheader"/"rowheader"] have data cells they describe: {display value or item count} (Lighthouse Accessibility audit th-has-data-cells, desktop; reported without a score).` | Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. Learn more about table headers ([https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells](https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells)). Found: `{up to three items}`. | — |
| <a id="37A-LighthouseAccessibilityAuditor-166" />`37A-LighthouseAccessibilityAuditor-166` | `INFORMATION` | Lighthouse reports audit `video-caption` without a score: `<video>` elements contain a `<track>` element with `[kind="captions"]`. Message: `<video> elements contain a <track> element with [kind="captions"]: {display value or item count} (Lighthouse Accessibility audit video-caption, desktop; reported without a score).` | When a video provides a caption it is easier for deaf and hearing impaired users to access its information. Learn more about video captions ([https://dequeuniversity.com/rules/axe/4.10/video-caption](https://dequeuniversity.com/rules/axe/4.10/video-caption)). Found: `{up to three items}`. | — |
| <a id="37A-LighthouseAccessibilityAuditor-167" />`37A-LighthouseAccessibilityAuditor-167` | `INFORMATION` | Lighthouse leaves audit `focusable-controls` to a manual check: Interactive controls are keyboard focusable. Message: `Check manually: Interactive controls are keyboard focusable (Lighthouse Accessibility audit focusable-controls; Lighthouse cannot automate it).` | Custom interactive controls are keyboard focusable and display a focus indicator. Learn how to make custom controls focusable ([https://developer.chrome.com/docs/lighthouse/accessibility/focusable-controls/](https://developer.chrome.com/docs/lighthouse/accessibility/focusable-controls/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-168" />`37A-LighthouseAccessibilityAuditor-168` | `INFORMATION` | Lighthouse leaves audit `interactive-element-affordance` to a manual check: Interactive elements indicate their purpose and state. Message: `Check manually: Interactive elements indicate their purpose and state (Lighthouse Accessibility audit interactive-element-affordance; Lighthouse cannot automate it).` | Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. Learn how to decorate interactive elements with affordance hints ([https://developer.chrome.com/docs/lighthouse/accessibility/interactive-element-affordance/](https://developer.chrome.com/docs/lighthouse/accessibility/interactive-element-affordance/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-169" />`37A-LighthouseAccessibilityAuditor-169` | `INFORMATION` | Lighthouse leaves audit `logical-tab-order` to a manual check: The page has a logical tab order. Message: `Check manually: The page has a logical tab order (Lighthouse Accessibility audit logical-tab-order; Lighthouse cannot automate it).` | Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. Learn more about logical tab ordering ([https://developer.chrome.com/docs/lighthouse/accessibility/logical-tab-order/](https://developer.chrome.com/docs/lighthouse/accessibility/logical-tab-order/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-170" />`37A-LighthouseAccessibilityAuditor-170` | `INFORMATION` | Lighthouse leaves audit `visual-order-follows-dom` to a manual check: Visual order on the page follows DOM order. Message: `Check manually: Visual order on the page follows DOM order (Lighthouse Accessibility audit visual-order-follows-dom; Lighthouse cannot automate it).` | DOM order matches the visual order, improving navigation for assistive technology. Learn more about DOM and visual ordering ([https://developer.chrome.com/docs/lighthouse/accessibility/visual-order-follows-dom/](https://developer.chrome.com/docs/lighthouse/accessibility/visual-order-follows-dom/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-171" />`37A-LighthouseAccessibilityAuditor-171` | `INFORMATION` | Lighthouse leaves audit `focus-traps` to a manual check: User focus is not accidentally trapped in a region. Message: `Check manually: User focus is not accidentally trapped in a region (Lighthouse Accessibility audit focus-traps; Lighthouse cannot automate it).` | A user can tab into and out of any control or region without accidentally trapping their focus. Learn how to avoid focus traps ([https://developer.chrome.com/docs/lighthouse/accessibility/focus-traps/](https://developer.chrome.com/docs/lighthouse/accessibility/focus-traps/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-172" />`37A-LighthouseAccessibilityAuditor-172` | `INFORMATION` | Lighthouse leaves audit `managed-focus` to a manual check: The user's focus is directed to new content added to the page. Message: `Check manually: The user's focus is directed to new content added to the page (Lighthouse Accessibility audit managed-focus; Lighthouse cannot automate it).` | If new content, such as a dialog, is added to the page, the user's focus is directed to it. Learn how to direct focus to new content ([https://developer.chrome.com/docs/lighthouse/accessibility/managed-focus/](https://developer.chrome.com/docs/lighthouse/accessibility/managed-focus/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-173" />`37A-LighthouseAccessibilityAuditor-173` | `INFORMATION` | Lighthouse leaves audit `use-landmarks` to a manual check: HTML5 landmark elements are used to improve navigation. Message: `Check manually: HTML5 landmark elements are used to improve navigation (Lighthouse Accessibility audit use-landmarks; Lighthouse cannot automate it).` | Landmark elements (`<main>`, `<nav>`, etc.) are used to improve the keyboard navigation of the page for assistive technology. Learn more about landmark elements ([https://developer.chrome.com/docs/lighthouse/accessibility/use-landmarks/](https://developer.chrome.com/docs/lighthouse/accessibility/use-landmarks/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-174" />`37A-LighthouseAccessibilityAuditor-174` | `INFORMATION` | Lighthouse leaves audit `offscreen-content-hidden` to a manual check: Offscreen content is hidden from assistive technology. Message: `Check manually: Offscreen content is hidden from assistive technology (Lighthouse Accessibility audit offscreen-content-hidden; Lighthouse cannot automate it).` | Offscreen content is hidden with display: none or aria-hidden=true. Learn how to properly hide offscreen content ([https://developer.chrome.com/docs/lighthouse/accessibility/offscreen-content-hidden/](https://developer.chrome.com/docs/lighthouse/accessibility/offscreen-content-hidden/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-175" />`37A-LighthouseAccessibilityAuditor-175` | `INFORMATION` | Lighthouse leaves audit `custom-controls-labels` to a manual check: Custom controls have associated labels. Message: `Check manually: Custom controls have associated labels (Lighthouse Accessibility audit custom-controls-labels; Lighthouse cannot automate it).` | Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. Learn more about custom controls and labels ([https://developer.chrome.com/docs/lighthouse/accessibility/custom-controls-labels/](https://developer.chrome.com/docs/lighthouse/accessibility/custom-controls-labels/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-176" />`37A-LighthouseAccessibilityAuditor-176` | `INFORMATION` | Lighthouse leaves audit `custom-controls-roles` to a manual check: Custom controls have ARIA roles. Message: `Check manually: Custom controls have ARIA roles (Lighthouse Accessibility audit custom-controls-roles; Lighthouse cannot automate it).` | Custom interactive controls have appropriate ARIA roles. Learn how to add roles to custom controls ([https://developer.chrome.com/docs/lighthouse/accessibility/custom-control-roles/](https://developer.chrome.com/docs/lighthouse/accessibility/custom-control-roles/)). | — |
| <a id="37A-LighthouseAccessibilityAuditor-190" />`37A-LighthouseAccessibilityAuditor-190` | `INFORMATION` | An audit this catalog does not list (added by a newer Lighthouse) is reported without a score or left to a manual check. Message as above, with the audit's own title and id; `inCatalog` is `false` in the data. | Lighthouse's description of the audit, then the first items it found. | — |
| <a id="37A-LighthouseAccessibilityAuditor-501" />`37A-LighthouseAccessibilityAuditor-501` | `ERROR` | Lighthouse ran but gave the Accessibility category no score (`score: null`). | Re-run the audit; if the Accessibility score stays empty, check the page for errors during load in Lighthouse's report. | — |
| <a id="37A-LighthouseAccessibilityAuditor-400" />`37A-LighthouseAccessibilityAuditor-400` | `FAIL` | The Accessibility score is below `failBelowScore`. Message: `Lighthouse Accessibility score is 42/100 (desktop); the fail threshold is 50.` | Raise the Accessibility score (`{score}`) by fixing its lowest-scoring audits first: `{audit title} ({display value})`; … | Accessibility defects shut out visitors who rely on assistive technology and expose the site to accessibility complaints and legal claims. |
| <a id="37A-LighthouseAccessibilityAuditor-410" />`37A-LighthouseAccessibilityAuditor-410` | `FAIL` | Lighthouse audit `accesskeys` scores below 0.9: `[accesskey]` values are not unique. Message: `[accesskey] values are not unique: {display value or item count} (Lighthouse Accessibility audit accesskeys, desktop).` | Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. Learn more about access keys ([https://dequeuniversity.com/rules/axe/4.10/accesskeys](https://dequeuniversity.com/rules/axe/4.10/accesskeys)). Found: `{up to three offending items}`. | Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. |
| <a id="37A-LighthouseAccessibilityAuditor-411" />`37A-LighthouseAccessibilityAuditor-411` | `FAIL` | Lighthouse audit `aria-allowed-attr` scores below 0.9: `[aria-*]` attributes do not match their roles. Message: `[aria-*] attributes do not match their roles: {display value or item count} (Lighthouse Accessibility audit aria-allowed-attr, desktop).` | Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. Learn how to match ARIA attributes to their roles ([https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr)). Found: `{up to three offending items}`. | Each ARIA role supports a specific subset of aria-\* attributes. Mismatching these invalidates the aria-\* attributes. |
| <a id="37A-LighthouseAccessibilityAuditor-412" />`37A-LighthouseAccessibilityAuditor-412` | `FAIL` | Lighthouse audit `aria-allowed-role` scores below 0.9: Uses ARIA roles on incompatible elements. Message: `Uses ARIA roles on incompatible elements: {display value or item count} (Lighthouse Accessibility audit aria-allowed-role, desktop).` | Many HTML elements can only be assigned certain ARIA roles. Using ARIA roles where they are not allowed can interfere with the accessibility of the web page. Learn more about ARIA roles ([https://dequeuniversity.com/rules/axe/4.10/aria-allowed-role](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-role)). Found: `{up to three offending items}`. | Many HTML elements can only be assigned certain ARIA roles. Using ARIA roles where they are not allowed can interfere with the accessibility of the web page. |
| <a id="37A-LighthouseAccessibilityAuditor-413" />`37A-LighthouseAccessibilityAuditor-413` | `FAIL` | Lighthouse audit `aria-command-name` scores below 0.9: `button`, `link`, and `menuitem` elements do not have accessible names.. Message: `button, link, and menuitem elements do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-command-name, desktop).` | When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn how to make command elements more accessible ([https://dequeuniversity.com/rules/axe/4.10/aria-command-name](https://dequeuniversity.com/rules/axe/4.10/aria-command-name)). Found: `{up to three offending items}`. | When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-414" />`37A-LighthouseAccessibilityAuditor-414` | `FAIL` | Lighthouse audit `aria-conditional-attr` scores below 0.9: ARIA attributes are not used as specified for the element's role. Message: `ARIA attributes are not used as specified for the element's role: {display value or item count} (Lighthouse Accessibility audit aria-conditional-attr, desktop).` | Some ARIA attributes are only allowed on an element under certain conditions. Learn more about conditional ARIA attributes ([https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr](https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr)). Found: `{up to three offending items}`. | Some ARIA attributes are only allowed on an element under certain conditions. |
| <a id="37A-LighthouseAccessibilityAuditor-415" />`37A-LighthouseAccessibilityAuditor-415` | `FAIL` | Lighthouse audit `aria-deprecated-role` scores below 0.9: Deprecated ARIA roles were used. Message: `Deprecated ARIA roles were used: {display value or item count} (Lighthouse Accessibility audit aria-deprecated-role, desktop).` | Deprecated ARIA roles may not be processed correctly by assistive technology. Learn more about deprecated ARIA roles ([https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role](https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role)). Found: `{up to three offending items}`. | Deprecated ARIA roles may not be processed correctly by assistive technology. |
| <a id="37A-LighthouseAccessibilityAuditor-416" />`37A-LighthouseAccessibilityAuditor-416` | `FAIL` | Lighthouse audit `aria-dialog-name` scores below 0.9: Elements with `role="dialog"` or `role="alertdialog"` do not have accessible names.. Message: `Elements with role="dialog" or role="alertdialog" do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-dialog-name, desktop).` | ARIA dialog elements without accessible names may prevent screen readers users from discerning the purpose of these elements. Learn how to make ARIA dialog elements more accessible ([https://dequeuniversity.com/rules/axe/4.10/aria-dialog-name](https://dequeuniversity.com/rules/axe/4.10/aria-dialog-name)). Found: `{up to three offending items}`. | ARIA dialog elements without accessible names may prevent screen readers users from discerning the purpose of these elements. |
| <a id="37A-LighthouseAccessibilityAuditor-417" />`37A-LighthouseAccessibilityAuditor-417` | `FAIL` | Lighthouse audit `aria-hidden-body` scores below 0.9: `[aria-hidden="true"]` is present on the document `<body>`. Message: `[aria-hidden="true"] is present on the document <body>: {display value or item count} (Lighthouse Accessibility audit aria-hidden-body, desktop).` | Assistive technologies, like screen readers, work inconsistently when `aria-hidden="true"` is set on the document `<body>`. Learn how `aria-hidden` affects the document body ([https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body](https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body)). Found: `{up to three offending items}`. | Assistive technologies, like screen readers, work inconsistently when aria-hidden="true" is set on the document \<body>. |
| <a id="37A-LighthouseAccessibilityAuditor-418" />`37A-LighthouseAccessibilityAuditor-418` | `FAIL` | Lighthouse audit `aria-hidden-focus` scores below 0.9: `[aria-hidden="true"]` elements contain focusable descendents. Message: `[aria-hidden="true"] elements contain focusable descendents: {display value or item count} (Lighthouse Accessibility audit aria-hidden-focus, desktop).` | Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. Learn how `aria-hidden` affects focusable elements ([https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus](https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus)). Found: `{up to three offending items}`. | Focusable descendents within an \[aria-hidden="true"] element prevent those interactive elements from being available to users of assistive technologies like screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-419" />`37A-LighthouseAccessibilityAuditor-419` | `FAIL` | Lighthouse audit `aria-input-field-name` scores below 0.9: ARIA input fields do not have accessible names. Message: `ARIA input fields do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-input-field-name, desktop).` | When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more about input field labels ([https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name](https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name)). Found: `{up to three offending items}`. | When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-420" />`37A-LighthouseAccessibilityAuditor-420` | `FAIL` | Lighthouse audit `aria-meter-name` scores below 0.9: ARIA `meter` elements do not have accessible names.. Message: `ARIA meter elements do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-meter-name, desktop).` | When a meter element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn how to name `meter` elements ([https://dequeuniversity.com/rules/axe/4.10/aria-meter-name](https://dequeuniversity.com/rules/axe/4.10/aria-meter-name)). Found: `{up to three offending items}`. | When a meter element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-421" />`37A-LighthouseAccessibilityAuditor-421` | `FAIL` | Lighthouse audit `aria-progressbar-name` scores below 0.9: ARIA `progressbar` elements do not have accessible names.. Message: `ARIA progressbar elements do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-progressbar-name, desktop).` | When a `progressbar` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn how to label `progressbar` elements ([https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name](https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name)). Found: `{up to three offending items}`. | When a progressbar element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-422" />`37A-LighthouseAccessibilityAuditor-422` | `FAIL` | Lighthouse audit `aria-prohibited-attr` scores below 0.9: Elements use prohibited ARIA attributes. Message: `Elements use prohibited ARIA attributes: {display value or item count} (Lighthouse Accessibility audit aria-prohibited-attr, desktop).` | Using ARIA attributes in roles where they are prohibited can mean that important information is not communicated to users of assistive technologies. Learn more about prohibited ARIA roles ([https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr](https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr)). Found: `{up to three offending items}`. | Using ARIA attributes in roles where they are prohibited can mean that important information is not communicated to users of assistive technologies. |
| <a id="37A-LighthouseAccessibilityAuditor-423" />`37A-LighthouseAccessibilityAuditor-423` | `FAIL` | Lighthouse audit `aria-required-attr` scores below 0.9: `[role]`s do not have all required `[aria-*]` attributes. Message: `[role]s do not have all required [aria-*] attributes: {display value or item count} (Lighthouse Accessibility audit aria-required-attr, desktop).` | Some ARIA roles have required attributes that describe the state of the element to screen readers. Learn more about roles and required attributes ([https://dequeuniversity.com/rules/axe/4.10/aria-required-attr](https://dequeuniversity.com/rules/axe/4.10/aria-required-attr)). Found: `{up to three offending items}`. | Some ARIA roles have required attributes that describe the state of the element to screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-424" />`37A-LighthouseAccessibilityAuditor-424` | `FAIL` | Lighthouse audit `aria-required-children` scores below 0.9: Elements with an ARIA `[role]` that require children to contain a specific `[role]` are missing some or all of those required children.. Message: `Elements with an ARIA [role] that require children to contain a specific [role] are missing some or all of those required children: {display value or item count} (Lighthouse Accessibility audit aria-required-children, desktop).` | Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. Learn more about roles and required children elements ([https://dequeuniversity.com/rules/axe/4.10/aria-required-children](https://dequeuniversity.com/rules/axe/4.10/aria-required-children)). Found: `{up to three offending items}`. | Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. |
| <a id="37A-LighthouseAccessibilityAuditor-425" />`37A-LighthouseAccessibilityAuditor-425` | `FAIL` | Lighthouse audit `aria-required-parent` scores below 0.9: `[role]`s are not contained by their required parent element. Message: `[role]s are not contained by their required parent element: {display value or item count} (Lighthouse Accessibility audit aria-required-parent, desktop).` | Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. Learn more about ARIA roles and required parent element ([https://dequeuniversity.com/rules/axe/4.10/aria-required-parent](https://dequeuniversity.com/rules/axe/4.10/aria-required-parent)). Found: `{up to three offending items}`. | Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. |
| <a id="37A-LighthouseAccessibilityAuditor-426" />`37A-LighthouseAccessibilityAuditor-426` | `FAIL` | Lighthouse audit `aria-roles` scores below 0.9: `[role]` values are not valid. Message: `[role] values are not valid: {display value or item count} (Lighthouse Accessibility audit aria-roles, desktop).` | ARIA roles must have valid values in order to perform their intended accessibility functions. Learn more about valid ARIA roles ([https://dequeuniversity.com/rules/axe/4.10/aria-roles](https://dequeuniversity.com/rules/axe/4.10/aria-roles)). Found: `{up to three offending items}`. | ARIA roles must have valid values in order to perform their intended accessibility functions. |
| <a id="37A-LighthouseAccessibilityAuditor-427" />`37A-LighthouseAccessibilityAuditor-427` | `FAIL` | Lighthouse audit `aria-text` scores below 0.9: Elements with the `role=text` attribute do have focusable descendents.. Message: `Elements with the role=text attribute do have focusable descendents: {display value or item count} (Lighthouse Accessibility audit aria-text, desktop).` | Adding `role=text` around a text node split by markup enables VoiceOver to treat it as one phrase, but the element's focusable descendents will not be announced. Learn more about the `role=text` attribute ([https://dequeuniversity.com/rules/axe/4.10/aria-text](https://dequeuniversity.com/rules/axe/4.10/aria-text)). Found: `{up to three offending items}`. | Adding role=text around a text node split by markup enables VoiceOver to treat it as one phrase, but the element's focusable descendents will not be announced. |
| <a id="37A-LighthouseAccessibilityAuditor-428" />`37A-LighthouseAccessibilityAuditor-428` | `FAIL` | Lighthouse audit `aria-toggle-field-name` scores below 0.9: ARIA toggle fields do not have accessible names. Message: `ARIA toggle fields do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-toggle-field-name, desktop).` | When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more about toggle fields ([https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name](https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name)). Found: `{up to three offending items}`. | When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-429" />`37A-LighthouseAccessibilityAuditor-429` | `FAIL` | Lighthouse audit `aria-tooltip-name` scores below 0.9: ARIA `tooltip` elements do not have accessible names.. Message: `ARIA tooltip elements do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-tooltip-name, desktop).` | When a tooltip element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn how to name `tooltip` elements ([https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name](https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name)). Found: `{up to three offending items}`. | When a tooltip element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-430" />`37A-LighthouseAccessibilityAuditor-430` | `FAIL` | Lighthouse audit `aria-treeitem-name` scores below 0.9: ARIA `treeitem` elements do not have accessible names.. Message: `ARIA treeitem elements do not have accessible names: {display value or item count} (Lighthouse Accessibility audit aria-treeitem-name, desktop).` | When a `treeitem` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn more about labeling `treeitem` elements ([https://dequeuniversity.com/rules/axe/4.10/aria-treeitem-name](https://dequeuniversity.com/rules/axe/4.10/aria-treeitem-name)). Found: `{up to three offending items}`. | When a treeitem element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-431" />`37A-LighthouseAccessibilityAuditor-431` | `FAIL` | Lighthouse audit `aria-valid-attr-value` scores below 0.9: `[aria-*]` attributes do not have valid values. Message: `[aria-*] attributes do not have valid values: {display value or item count} (Lighthouse Accessibility audit aria-valid-attr-value, desktop).` | Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. Learn more about valid values for ARIA attributes ([https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value](https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value)). Found: `{up to three offending items}`. | Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. |
| <a id="37A-LighthouseAccessibilityAuditor-432" />`37A-LighthouseAccessibilityAuditor-432` | `FAIL` | Lighthouse audit `aria-valid-attr` scores below 0.9: `[aria-*]` attributes are not valid or misspelled. Message: `[aria-*] attributes are not valid or misspelled: {display value or item count} (Lighthouse Accessibility audit aria-valid-attr, desktop).` | Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. Learn more about valid ARIA attributes ([https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr](https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr)). Found: `{up to three offending items}`. | Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. |
| <a id="37A-LighthouseAccessibilityAuditor-433" />`37A-LighthouseAccessibilityAuditor-433` | `FAIL` | Lighthouse audit `button-name` scores below 0.9: Buttons do not have an accessible name. Message: `Buttons do not have an accessible name: {display value or item count} (Lighthouse Accessibility audit button-name, desktop).` | When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn how to make buttons more accessible ([https://dequeuniversity.com/rules/axe/4.10/button-name](https://dequeuniversity.com/rules/axe/4.10/button-name)). Found: `{up to three offending items}`. | When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-435" />`37A-LighthouseAccessibilityAuditor-435` | `FAIL` | Lighthouse audit `color-contrast` scores below 0.9: Background and foreground colors do not have a sufficient contrast ratio.. Message: `Background and foreground colors do not have a sufficient contrast ratio: {display value or item count} (Lighthouse Accessibility audit color-contrast, desktop).` | Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast ([https://dequeuniversity.com/rules/axe/4.10/color-contrast](https://dequeuniversity.com/rules/axe/4.10/color-contrast)). Found: `{up to three offending items}`. | Low-contrast text is difficult or impossible for many users to read. |
| <a id="37A-LighthouseAccessibilityAuditor-436" />`37A-LighthouseAccessibilityAuditor-436` | `FAIL` | Lighthouse audit `definition-list` scores below 0.9: `<dl>`'s do not contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.. Message: `<dl>'s do not contain only properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements: {display value or item count} (Lighthouse Accessibility audit definition-list, desktop).` | When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. Learn how to structure definition lists correctly ([https://dequeuniversity.com/rules/axe/4.10/definition-list](https://dequeuniversity.com/rules/axe/4.10/definition-list)). Found: `{up to three offending items}`. | When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. |
| <a id="37A-LighthouseAccessibilityAuditor-437" />`37A-LighthouseAccessibilityAuditor-437` | `FAIL` | Lighthouse audit `dlitem` scores below 0.9: Definition list items are not wrapped in `<dl>` elements. Message: `Definition list items are not wrapped in <dl> elements: {display value or item count} (Lighthouse Accessibility audit dlitem, desktop).` | Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. Learn how to structure definition lists correctly ([https://dequeuniversity.com/rules/axe/4.10/dlitem](https://dequeuniversity.com/rules/axe/4.10/dlitem)). Found: `{up to three offending items}`. | Definition list items (\<dt> and \<dd>) must be wrapped in a parent \<dl> element to ensure that screen readers can properly announce them. |
| <a id="37A-LighthouseAccessibilityAuditor-438" />`37A-LighthouseAccessibilityAuditor-438` | `FAIL` | Lighthouse audit `document-title` scores below 0.9: Document doesn't have a `<title>` element. Message: `Document doesn't have a <title> element: {display value or item count} (Lighthouse Accessibility audit document-title, desktop).` | The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. Learn more about document titles ([https://dequeuniversity.com/rules/axe/4.10/document-title](https://dequeuniversity.com/rules/axe/4.10/document-title)). Found: `{up to three offending items}`. | The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. |
| <a id="37A-LighthouseAccessibilityAuditor-441" />`37A-LighthouseAccessibilityAuditor-441` | `FAIL` | Lighthouse audit `frame-title` scores below 0.9: `<frame>` or `<iframe>` elements do not have a title. Message: `<frame> or <iframe> elements do not have a title: {display value or item count} (Lighthouse Accessibility audit frame-title, desktop).` | Screen reader users rely on frame titles to describe the contents of frames. Learn more about frame titles ([https://dequeuniversity.com/rules/axe/4.10/frame-title](https://dequeuniversity.com/rules/axe/4.10/frame-title)). Found: `{up to three offending items}`. | Screen reader users rely on frame titles to describe the contents of frames. |
| <a id="37A-LighthouseAccessibilityAuditor-442" />`37A-LighthouseAccessibilityAuditor-442` | `FAIL` | Lighthouse audit `heading-order` scores below 0.9: Heading elements are not in a sequentially-descending order. Message: `Heading elements are not in a sequentially-descending order: {display value or item count} (Lighthouse Accessibility audit heading-order, desktop).` | Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. Learn more about heading order ([https://dequeuniversity.com/rules/axe/4.10/heading-order](https://dequeuniversity.com/rules/axe/4.10/heading-order)). Found: `{up to three offending items}`. | Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. |
| <a id="37A-LighthouseAccessibilityAuditor-443" />`37A-LighthouseAccessibilityAuditor-443` | `FAIL` | Lighthouse audit `html-has-lang` scores below 0.9: `<html>` element does not have a `[lang]` attribute. Message: `<html> element does not have a [lang] attribute: {display value or item count} (Lighthouse Accessibility audit html-has-lang, desktop).` | If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. Learn more about the `lang` attribute ([https://dequeuniversity.com/rules/axe/4.10/html-has-lang](https://dequeuniversity.com/rules/axe/4.10/html-has-lang)). Found: `{up to three offending items}`. | If a page doesn't specify a lang attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. |
| <a id="37A-LighthouseAccessibilityAuditor-444" />`37A-LighthouseAccessibilityAuditor-444` | `FAIL` | Lighthouse audit `html-lang-valid` scores below 0.9: `<html>` element does not have a valid value for its `[lang]` attribute.. Message: `<html> element does not have a valid value for its [lang] attribute: {display value or item count} (Lighthouse Accessibility audit html-lang-valid, desktop).` | Specifying a valid BCP 47 language ([https://www.w3.org/International/questions/qa-choosing-language-tags#question](https://www.w3.org/International/questions/qa-choosing-language-tags#question)) helps screen readers announce text properly. Learn how to use the `lang` attribute ([https://dequeuniversity.com/rules/axe/4.10/html-lang-valid](https://dequeuniversity.com/rules/axe/4.10/html-lang-valid)). Found: `{up to three offending items}`. | Specifying a valid BCP 47 language helps screen readers announce text properly. |
| <a id="37A-LighthouseAccessibilityAuditor-445" />`37A-LighthouseAccessibilityAuditor-445` | `FAIL` | Lighthouse audit `html-xml-lang-mismatch` scores below 0.9: `<html>` element does not have an `[xml:lang]` attribute with the same base language as the `[lang]` attribute.. Message: `<html> element does not have an [xml:lang] attribute with the same base language as the [lang] attribute: {display value or item count} (Lighthouse Accessibility audit html-xml-lang-mismatch, desktop).` | If the webpage does not specify a consistent language, then the screen reader might not announce the page's text correctly. Learn more about the `lang` attribute ([https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch](https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch)). Found: `{up to three offending items}`. | If the webpage does not specify a consistent language, then the screen reader might not announce the page's text correctly. |
| <a id="37A-LighthouseAccessibilityAuditor-446" />`37A-LighthouseAccessibilityAuditor-446` | `FAIL` | Lighthouse audit `image-alt` scores below 0.9: Image elements do not have `[alt]` attributes. Message: `Image elements do not have [alt] attributes: {display value or item count} (Lighthouse Accessibility audit image-alt, desktop).` | Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more about the `alt` attribute ([https://dequeuniversity.com/rules/axe/4.10/image-alt](https://dequeuniversity.com/rules/axe/4.10/image-alt)). Found: `{up to three offending items}`. | Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. |
| <a id="37A-LighthouseAccessibilityAuditor-447" />`37A-LighthouseAccessibilityAuditor-447` | `FAIL` | Lighthouse audit `image-redundant-alt` scores below 0.9: Image elements have `[alt]` attributes that are redundant text.. Message: `Image elements have [alt] attributes that are redundant text: {display value or item count} (Lighthouse Accessibility audit image-redundant-alt, desktop).` | Informative elements should aim for short, descriptive alternative text. Alternative text that is exactly the same as the text adjacent to the link or image is potentially confusing for screen reader users, because the text will be read twice. Learn more about the `alt` attribute ([https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt](https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt)). Found: `{up to three offending items}`. | Informative elements should aim for short, descriptive alternative text. Alternative text that is exactly the same as the text adjacent to the link or image is potentially confusing for screen reader users, because the text will be read twice. |
| <a id="37A-LighthouseAccessibilityAuditor-448" />`37A-LighthouseAccessibilityAuditor-448` | `FAIL` | Lighthouse audit `input-button-name` scores below 0.9: Input buttons do not have discernible text.. Message: `Input buttons do not have discernible text: {display value or item count} (Lighthouse Accessibility audit input-button-name, desktop).` | Adding discernable and accessible text to input buttons may help screen reader users understand the purpose of the input button. Learn more about input buttons ([https://dequeuniversity.com/rules/axe/4.10/input-button-name](https://dequeuniversity.com/rules/axe/4.10/input-button-name)). Found: `{up to three offending items}`. | Adding discernable and accessible text to input buttons may help screen reader users understand the purpose of the input button. |
| <a id="37A-LighthouseAccessibilityAuditor-449" />`37A-LighthouseAccessibilityAuditor-449` | `FAIL` | Lighthouse audit `input-image-alt` scores below 0.9: `<input type="image">` elements do not have `[alt]` text. Message: `<input type="image"> elements do not have [alt] text: {display value or item count} (Lighthouse Accessibility audit input-image-alt, desktop).` | When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. Learn about input image alt text ([https://dequeuniversity.com/rules/axe/4.10/input-image-alt](https://dequeuniversity.com/rules/axe/4.10/input-image-alt)). Found: `{up to three offending items}`. | When an image is being used as an \<input> button, providing alternative text can help screen reader users understand the purpose of the button. |
| <a id="37A-LighthouseAccessibilityAuditor-450" />`37A-LighthouseAccessibilityAuditor-450` | `FAIL` | Lighthouse audit `label` scores below 0.9: Form elements do not have associated labels. Message: `Form elements do not have associated labels: {display value or item count} (Lighthouse Accessibility audit label, desktop).` | Labels ensure that form controls are announced properly by assistive technologies, like screen readers. Learn more about form element labels ([https://dequeuniversity.com/rules/axe/4.10/label](https://dequeuniversity.com/rules/axe/4.10/label)). Found: `{up to three offending items}`. | Labels ensure that form controls are announced properly by assistive technologies, like screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-451" />`37A-LighthouseAccessibilityAuditor-451` | `FAIL` | Lighthouse audit `link-in-text-block` scores below 0.9: Links rely on color to be distinguishable.. Message: `Links rely on color to be distinguishable: {display value or item count} (Lighthouse Accessibility audit link-in-text-block, desktop).` | Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. Learn how to make links distinguishable ([https://dequeuniversity.com/rules/axe/4.10/link-in-text-block](https://dequeuniversity.com/rules/axe/4.10/link-in-text-block)). Found: `{up to three offending items}`. | Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. |
| <a id="37A-LighthouseAccessibilityAuditor-452" />`37A-LighthouseAccessibilityAuditor-452` | `FAIL` | Lighthouse audit `link-name` scores below 0.9: Links do not have a discernible name. Message: `Links do not have a discernible name: {display value or item count} (Lighthouse Accessibility audit link-name, desktop).` | Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. Learn how to make links accessible ([https://dequeuniversity.com/rules/axe/4.10/link-name](https://dequeuniversity.com/rules/axe/4.10/link-name)). Found: `{up to three offending items}`. | Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. |
| <a id="37A-LighthouseAccessibilityAuditor-453" />`37A-LighthouseAccessibilityAuditor-453` | `FAIL` | Lighthouse audit `list` scores below 0.9: Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).. Message: `Lists do not contain only <li> elements and script supporting elements (<script> and <template>): {display value or item count} (Lighthouse Accessibility audit list, desktop).` | Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. Learn more about proper list structure ([https://dequeuniversity.com/rules/axe/4.10/list](https://dequeuniversity.com/rules/axe/4.10/list)). Found: `{up to three offending items}`. | Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. |
| <a id="37A-LighthouseAccessibilityAuditor-454" />`37A-LighthouseAccessibilityAuditor-454` | `FAIL` | Lighthouse audit `listitem` scores below 0.9: List items (`<li>`) are not contained within `<ul>`, `<ol>` or `<menu>` parent elements.. Message: `List items (<li>) are not contained within <ul>, <ol> or <menu> parent elements: {display value or item count} (Lighthouse Accessibility audit listitem, desktop).` | Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. Learn more about proper list structure ([https://dequeuniversity.com/rules/axe/4.10/listitem](https://dequeuniversity.com/rules/axe/4.10/listitem)). Found: `{up to three offending items}`. | Screen readers require list items (\<li>) to be contained within a parent \<ul>, \<ol> or \<menu> to be announced properly. |
| <a id="37A-LighthouseAccessibilityAuditor-455" />`37A-LighthouseAccessibilityAuditor-455` | `FAIL` | Lighthouse audit `meta-refresh` scores below 0.9: The document uses `<meta http-equiv="refresh">`. Message: `The document uses <meta http-equiv="refresh">: {display value or item count} (Lighthouse Accessibility audit meta-refresh, desktop).` | Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. Learn more about the refresh meta tag ([https://dequeuniversity.com/rules/axe/4.10/meta-refresh](https://dequeuniversity.com/rules/axe/4.10/meta-refresh)). Found: `{up to three offending items}`. | Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. |
| <a id="37A-LighthouseAccessibilityAuditor-456" />`37A-LighthouseAccessibilityAuditor-456` | `FAIL` | Lighthouse audit `meta-viewport` scores below 0.9: `[user-scalable="no"]` is used in the `<meta name="viewport">` element or the `[maximum-scale]` attribute is less than 5.. Message: `[user-scalable="no"] is used in the <meta name="viewport"> element or the [maximum-scale] attribute is less than 5: {display value or item count} (Lighthouse Accessibility audit meta-viewport, desktop).` | Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. Learn more about the viewport meta tag ([https://dequeuniversity.com/rules/axe/4.10/meta-viewport](https://dequeuniversity.com/rules/axe/4.10/meta-viewport)). Found: `{up to three offending items}`. | Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. |
| <a id="37A-LighthouseAccessibilityAuditor-457" />`37A-LighthouseAccessibilityAuditor-457` | `FAIL` | Lighthouse audit `object-alt` scores below 0.9: `<object>` elements do not have alternate text. Message: `<object> elements do not have alternate text: {display value or item count} (Lighthouse Accessibility audit object-alt, desktop).` | Screen readers cannot translate non-text content. Adding alternate text to `<object>` elements helps screen readers convey meaning to users. Learn more about alt text for `object` elements ([https://dequeuniversity.com/rules/axe/4.10/object-alt](https://dequeuniversity.com/rules/axe/4.10/object-alt)). Found: `{up to three offending items}`. | Screen readers cannot translate non-text content. Adding alternate text to \<object> elements helps screen readers convey meaning to users. |
| <a id="37A-LighthouseAccessibilityAuditor-458" />`37A-LighthouseAccessibilityAuditor-458` | `FAIL` | Lighthouse audit `select-name` scores below 0.9: Select elements do not have associated label elements.. Message: `Select elements do not have associated label elements: {display value or item count} (Lighthouse Accessibility audit select-name, desktop).` | Form elements without effective labels can create frustrating experiences for screen reader users. Learn more about the `select` element ([https://dequeuniversity.com/rules/axe/4.10/select-name](https://dequeuniversity.com/rules/axe/4.10/select-name)). Found: `{up to three offending items}`. | Form elements without effective labels can create frustrating experiences for screen reader users. |
| <a id="37A-LighthouseAccessibilityAuditor-459" />`37A-LighthouseAccessibilityAuditor-459` | `FAIL` | Lighthouse audit `skip-link` scores below 0.9: Skip links are not focusable.. Message: `Skip links are not focusable: {display value or item count} (Lighthouse Accessibility audit skip-link, desktop).` | Including a skip link can help users skip to the main content to save time. Learn more about skip links ([https://dequeuniversity.com/rules/axe/4.10/skip-link](https://dequeuniversity.com/rules/axe/4.10/skip-link)). Found: `{up to three offending items}`. | Including a skip link can help users skip to the main content to save time. |
| <a id="37A-LighthouseAccessibilityAuditor-460" />`37A-LighthouseAccessibilityAuditor-460` | `FAIL` | Lighthouse audit `tabindex` scores below 0.9: Some elements have a `[tabindex]` value greater than 0. Message: `Some elements have a [tabindex] value greater than 0: {display value or item count} (Lighthouse Accessibility audit tabindex, desktop).` | A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. Learn more about the `tabindex` attribute ([https://dequeuniversity.com/rules/axe/4.10/tabindex](https://dequeuniversity.com/rules/axe/4.10/tabindex)). Found: `{up to three offending items}`. | A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. |
| <a id="37A-LighthouseAccessibilityAuditor-461" />`37A-LighthouseAccessibilityAuditor-461` | `FAIL` | Lighthouse audit `table-duplicate-name` scores below 0.9: Tables have the same content in the summary attribute and `<caption>.`. Message: `Tables have the same content in the summary attribute and <caption>: {display value or item count} (Lighthouse Accessibility audit table-duplicate-name, desktop).` | The summary attribute should describe the table structure, while `<caption>` should have the onscreen title. Accurate table mark-up helps users of screen readers. Learn more about summary and caption ([https://dequeuniversity.com/rules/axe/4.10/table-duplicate-name](https://dequeuniversity.com/rules/axe/4.10/table-duplicate-name)). Found: `{up to three offending items}`. | The summary attribute should describe the table structure, while \<caption> should have the onscreen title. Accurate table mark-up helps users of screen readers. |
| <a id="37A-LighthouseAccessibilityAuditor-462" />`37A-LighthouseAccessibilityAuditor-462` | `FAIL` | Lighthouse audit `target-size` scores below 0.9: Touch targets do not have sufficient size or spacing.. Message: `Touch targets do not have sufficient size or spacing: {display value or item count} (Lighthouse Accessibility audit target-size, desktop).` | Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. Learn more about touch targets ([https://dequeuniversity.com/rules/axe/4.10/target-size](https://dequeuniversity.com/rules/axe/4.10/target-size)). Found: `{up to three offending items}`. | Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. |
| <a id="37A-LighthouseAccessibilityAuditor-463" />`37A-LighthouseAccessibilityAuditor-463` | `FAIL` | Lighthouse audit `td-headers-attr` scores below 0.9: Cells in a `<table>` element that use the `[headers]` attribute refer to an element `id` not found within the same table.. Message: `Cells in a <table> element that use the [headers] attribute refer to an element id not found within the same table: {display value or item count} (Lighthouse Accessibility audit td-headers-attr, desktop).` | Screen readers have features to make navigating tables easier. Ensuring `<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. Learn more about the `headers` attribute ([https://dequeuniversity.com/rules/axe/4.10/td-headers-attr](https://dequeuniversity.com/rules/axe/4.10/td-headers-attr)). Found: `{up to three offending items}`. | Screen readers have features to make navigating tables easier. Ensuring \<td> cells using the \[headers] attribute only refer to other cells in the same table may improve the experience for screen reader users. |
| <a id="37A-LighthouseAccessibilityAuditor-465" />`37A-LighthouseAccessibilityAuditor-465` | `FAIL` | Lighthouse audit `valid-lang` scores below 0.9: `[lang]` attributes do not have a valid value. Message: `[lang] attributes do not have a valid value: {display value or item count} (Lighthouse Accessibility audit valid-lang, desktop).` | Specifying a valid BCP 47 language ([https://www.w3.org/International/questions/qa-choosing-language-tags#question](https://www.w3.org/International/questions/qa-choosing-language-tags#question)) on elements helps ensure that text is pronounced correctly by a screen reader. Learn how to use the `lang` attribute ([https://dequeuniversity.com/rules/axe/4.10/valid-lang](https://dequeuniversity.com/rules/axe/4.10/valid-lang)). Found: `{up to three offending items}`. | Specifying a valid BCP 47 language on elements helps ensure that text is pronounced correctly by a screen reader. |
| <a id="37A-LighthouseAccessibilityAuditor-490" />`37A-LighthouseAccessibilityAuditor-490` | `FAIL` | A scored audit this catalog does not list (added by a newer Lighthouse) scores below 0.9. Message: `{Lighthouse title}: {display value or item count} (Lighthouse Accessibility audit {id}, desktop).` | Lighthouse's description of the audit, then the first offending items. | Lighthouse's description of the audit without its learn-more link. |
| <a id="37A-LighthouseAccessibilityAuditor-300" />`37A-LighthouseAccessibilityAuditor-300` | `WARNING` | The Accessibility score is below `warningBelowScore` and not below `failBelowScore`. Message: `Lighthouse Accessibility score is 75/100 (desktop); the warning threshold is 90.` | Raise the Accessibility score (`{score}`) by fixing its lowest-scoring audits first: `{audit title} ({display value})`; … | Accessibility defects shut out visitors who rely on assistive technology and expose the site to accessibility complaints and legal claims. |
| <a id="37A-LighthouseAccessibilityAuditor-401" />`37A-LighthouseAccessibilityAuditor-401` | `FAIL` | `failBelowScore` is equal to or above `warningBelowScore`; Lighthouse does not run. Message: `failBelowScore (90) must be lower than warningBelowScore (50).` | Set `failBelowScore` below `warningBelowScore` on the auditor's Configuration tab; the defaults are 50 and 90. | With the thresholds inverted no score can be a warning, so the audit would hide regressions until they are already failures. |
| <a id="37A-LighthouseAccessibilityAuditor-500" />`37A-LighthouseAccessibilityAuditor-500` | `ERROR` | Lighthouse could not load the page: the run exceeded its time budget, or Lighthouse reported a runtime error (`NO_FCP`, `PAGE_HUNG`, `DNS_FAILURE`, `ERRORED_DOCUMENT_REQUEST`, …). Message: `Lighthouse could not audit {url}: NO_FCP: The page did not paint any content.` | Make `{url}` load in a browser within the audit's time limit and re-run the audit. Last error was `"{error}"`. | — |
| <a id="37A-LighthouseAccessibilityAuditor-200" />`37A-LighthouseAccessibilityAuditor-200` | `SUCCESS` | The Accessibility score is at or above `warningBelowScore`. Message: `Lighthouse Accessibility score is 95/100 (desktop). At or above the warning threshold of 90.` | — | — |
| <a id="37A-LighthouseAccessibilityAuditor-590" />`37A-LighthouseAccessibilityAuditor-590` | `ERROR` | The audited page answered HTTP 403, HTTP 429 or a Cloudflare challenge, so 37AuditsBot was blocked before it could read the page. | Allow 37AuditsBot in your firewall or bot protection: allowlist its user agent, or verify its Web Bot Auth signature. See [https://www.37audits.com/bot](https://www.37audits.com/bot). | While 37AuditsBot is blocked this audit cannot look at the site, so problems on it go unreported. |

The score check carries in `data`: `category`, `score`, `formFactor`, both thresholds, `failingAudits` (up to ten audits of the category below Lighthouse's pass mark, lowest score first, each with `id`, `title`, `score`, `displayValue`), `lighthouseVersion`, `chromeVersion`, `benchmarkIndex`, `elapsedSeconds` and `runWarnings`. Each audit check (`1NN`, `4NN`) adds `auditId`, `auditTitle`, `auditScore` (0–100 or `null`), `scoreDisplayMode`, `displayValue`, `weight`, `group`, `numericValue`, `numericUnit`, `learnMore` (Lighthouse's documentation link), `inCatalog`, `itemCount` and `items` (up to ten rows of Lighthouse's details table: DOM nodes reduced to selector, snippet, label and explanation; source locations to `url:line:column`).

## Output documentation

| Status | Description | Test logic |
| - | - | - |
| **INFORMATION** | Report pin, manual checks and unscored audits | Always one `100` check with the Lighthouse and Chrome versions, device profile, duration and benchmark index; plus one `1NN` check per audit Lighthouse leaves to a manual check or reports without a score. |
| **SUCCESS** | The Accessibility score is at or above the warning threshold | The score is `>= warningBelowScore`; the message states the score and counts the failing audits. Every result, whatever its status, also carries one `4NN` check per scored audit below 0.9; it never changes the status. |
| **WARNING** | The Accessibility score is below the warning threshold and not below the fail threshold | One `300` check; the summary states the score. |
| **FAIL** | The Accessibility score is below the fail threshold, or the thresholds are inverted | One `400` check, or a single `401` check when `failBelowScore >= warningBelowScore`. |
| **ERROR** | Lighthouse could not audit the page or score the category | `500` when the page did not load inside the budget or Lighthouse reported a runtime error; `501` when the category has no score; `590` when the page blocked 37AuditsBot. |

## Risks and considerations

### A score is not a certification

Lighthouse automates the Accessibility checks a machine can run on one page load (colour contrast, image alternative text, form labels, button and link names, heading order, ARIA attributes, language declaration and keyboard focus). A perfect score means no automated check failed, not that the page is flawless; manual review still finds problems automation cannot.

### Desktop and mobile differ

The two device profiles render the page at different sizes, so the audits that depend on layout can give different results. Pick the profile that matches the audience and keep it, because the scores of the two profiles are not strictly comparable.

### The run is unsigned

The Lighthouse navigation carries the 37AuditsBot user agent but no Web Bot Auth signature. A site that only admits signed bots answers with a challenge, which this audit reports as blocked (`590`).

### The score alone decides the result

Lighthouse weighs its audits into the score, so a page can score 90 with one audit failing. The result follows the score, as Lighthouse's gauge does: that page is a `SUCCESS`. The failing audit is still listed as a `FAIL` check, because the item is what the owner has to fix, but it never changes the status of the result. The check order follows Lighthouse's report: heavier audits first, then the lowest scores.

### Codes are fixed per audit

Each audit keeps its number across Lighthouse upgrades, so a deep link to a code stays valid. An audit a newer Lighthouse adds is reported with `490` (failing) or `190` (informative or manual) and `inCatalog: false` in its data until the catalog in this auditor is extended; an audit Lighthouse removes keeps its number unused.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.