Web accessibility determines whether people with disabilities can use your site. This includes users who are blind, deaf, have motor impairments, cognitive disabilities, or temporary limitations like a broken arm.
Lighthouse tests accessibility using axe-core, the industry-standard accessibility testing engine. Each audit is binary: pass or fail. Unlike performance metrics with thresholds, accessibility either works for users or it does not.
The overall accessibility score represents the percentage of passed audits. A score of 85 means 85% of applicable audits passed.
Over 1 billion people worldwide live with disabilities. In the US alone, 26% of adults have some type of disability. These are not edge cases. They are a significant portion of your potential audience.
Consider how users interact with your site:
Accessibility failures do not just inconvenience people. They completely lock them out.
Web accessibility is increasingly mandated by law:
| Region | Law | Requirement |
|---|---|---|
| United States | ADA, Section 508 | Public accommodations must be accessible |
| European Union | European Accessibility Act | Digital services must meet WCAG 2.1 AA by 2025 |
| United Kingdom | Equality Act 2010 | Service providers must make reasonable adjustments |
| Canada | AODA | Ontarian organizations must meet WCAG 2.0 AA |
| Australia | DDA | Discrimination includes inaccessible websites |
Web accessibility lawsuits reached over 4,000 in 2024. Plaintiffs typically target violations detectable by automated tools. The same issues Lighthouse flags.
Many accessibility improvements benefit SEO:
<nav>, <main>, <article>) clarifies page structureGoogle does not directly use accessibility as a ranking factor. But the underlying practices improve crawlability and content quality.
Lighthouse runs axe-core against your page and evaluates dozens of rules. Each applicable rule either passes or fails. The score formula:
Score = (Passed Audits / Total Applicable Audits) * 100
Important points:
A perfect 100 does not mean your site is fully accessible. It means you passed all automated checks. Screen reader testing, keyboard navigation testing, and usability testing with disabled users reveal issues automation misses.
These are the most frequently failing audits across websites:
| Issue | Impact | Fix Complexity |
|---|---|---|
| Missing image alt text | High | Low |
| Links without discernible names | High | Low |
| Buttons without accessible names | High | Low |
| Form inputs without labels | High | Low |
| Frame/iframe missing title | Medium | Low |
| Issue | Impact | Fix Complexity |
|---|---|---|
| Invalid ARIA roles | High | Medium |
| Missing required ARIA attributes | High | Medium |
| Invalid ARIA attribute values | High | Medium |
| ARIA hidden on body | Critical | Low |
| Duplicate ARIA IDs | High | Medium |
| Issue | Impact | Fix Complexity |
|---|---|---|
| Insufficient color contrast | High | Medium |
| Links not distinguishable from text | Medium | Low |
| Issue | Impact | Fix Complexity |
|---|---|---|
| Missing document title | High | Low |
| Missing html lang attribute | High | Low |
| Invalid lang attribute | Medium | Low |
| Skipped heading levels | Medium | Low |
| Empty headings | Medium | Low |
| Issue | Impact | Fix Complexity |
|---|---|---|
| No skip link or landmark | Medium | Low |
| Tabindex greater than 0 | Medium | Low |
| Duplicate access keys | Low | Low |
| Issue | Impact | Fix Complexity |
|---|---|---|
| Table cells missing headers | High | Medium |
| Invalid th scope | Medium | Medium |
Run Lighthouse in Chrome DevTools:
Review the failing audits. Each includes the failing elements and a link to documentation.
For deeper inspection:
The accessibility tree shows how assistive technologies interpret your page. If an element is missing from this tree, screen readers cannot find it.
Install axe DevTools for more detailed testing than Lighthouse alone. It provides:
Automated tools catch syntax issues. Screen reader testing reveals usability issues.
| Screen Reader | Platform | Cost |
|---|---|---|
| NVDA | Windows | Free |
| JAWS | Windows | Licensed |
| VoiceOver | macOS/iOS | Built-in |
| TalkBack | Android | Built-in |
Basic screen reader test:
Tab through your page:
If any answer is no, users with motor impairments cannot use that feature.
Modern JavaScript frameworks require extra attention for accessibility:
Client-side routing: When navigation happens without page reload, screen readers may not announce the new content. Manage focus on route change.
Dynamic content: Content added via JavaScript needs appropriate ARIA live regions to announce changes.
Component libraries: Third-party UI libraries vary in accessibility quality. Audit them before adoption.
Virtual DOM: Framework abstractions can obscure accessibility issues. The rendered HTML is what matters.
Checking accessibility page-by-page misses patterns. Your marketing pages might pass while app screens fail. Product pages might be accessible while the checkout flow is not.
Different templates have different issues. An author creating content might leave out alt text. A developer building components might forget ARIA labels.
Unlighthouse scans your entire site and surfaces accessibility scores for every page. You will see which templates have issues, which pages are outliers, and whether fixes actually work at scale.
The CLI is free and runs locally. Cloud adds scheduled monitoring to catch regressions before users report them.