Lighthouse Accessibility Audit Guide
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.
Why Accessibility Matters
Real Users Depend On It
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:
- Screen reader users navigate by headings, links, and landmarks. If your heading hierarchy skips from h1 to h4, they lose context. If links say "click here" without context, they have no idea where they lead.
- Keyboard-only users tab through interactive elements. If a button cannot receive focus or a modal traps them, your site becomes unusable.
- Low-vision users rely on sufficient color contrast. Light gray text on white backgrounds is invisible to them.
- Motor-impaired users may use voice control or switches. Tiny touch targets and timed interactions create barriers.
Accessibility failures do not just inconvenience people. They completely lock them out.
Legal Requirements
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.
SEO Overlap: The "Proxy Signal" Effect
While Google has stated that accessibility scores are not a direct ranking factor, the signals are inextricably linked. Accessibility features often act as "proxy signals" for User Experience (UX) and content quality, which are ranking factors.
| Accessibility Feature | SEO Signal Proxy | Business Impact |
|---|---|---|
| Headings (H1-H6) | Passage Ranking | Helps Google index specific answers within long content for Featured Snippets. |
| Link Names | Internal Link Equity | Descriptive anchors pass topical authority to linked pages, boosting their ranking potential. |
| Alt Text | Visual Search | Powers Google Images and Google Lens, opening new acquisition channels. |
| Captions/Transcripts | Video Indexing | Makes video content searchable and indexable, capturing long-tail traffic. |
Future Proofing: Mobile-First & AI
As search evolves towards AI-driven answers (SGE) and strict Mobile-First Indexing, semantic structure becomes critical. LLMs and crawlers rely on the Accessibility Tree to understand content hierarchy. If your content is hidden from screen readers (e.g., inaccessible accordions), it may be devalued or ignored by search engines.
How Lighthouse Scores Accessibility
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:
- Binary results: Each audit is pass/fail. There is no "partial credit"
- Weighted scoring: Some audits carry more weight based on user impact
- Not applicable: If an audit does not apply (no images on page = no image-alt check), it does not affect your score
- Automated limitations: Lighthouse catches about 30-50% of accessibility issues. Manual testing remains essential
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.
Common Accessibility Issues
These are the most frequently failing audits across websites:
Names and Labels
| 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 |
ARIA Issues
| 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 |
Color and Contrast
| Issue | Impact | Fix Complexity |
|---|---|---|
| Insufficient color contrast | High | Medium |
| Links not distinguishable from text | Medium | Low |
Document Structure
| 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 |
Navigation
| Issue | Impact | Fix Complexity |
|---|---|---|
| No skip link or landmark | Medium | Low |
| Tabindex greater than 0 | Medium | Low |
| Duplicate access keys | Low | Low |
Tables
| Issue | Impact | Fix Complexity |
|---|---|---|
| Table cells missing headers | High | Medium |
| Invalid th scope | Medium | Medium |
How to Test Accessibility
Lighthouse (Automated)
Run Lighthouse in Chrome DevTools:
- Open DevTools (F12)
- Go to Lighthouse tab
- Check Accessibility category
- Click Analyze page load
Review the failing audits. Each includes the failing elements and a link to documentation.
Chrome DevTools Accessibility Panel
For deeper inspection:
- Open DevTools → Elements tab
- Select an element
- View Accessibility pane in sidebar
- Check computed accessible name, role, and properties
The accessibility tree shows how assistive technologies interpret your page. If an element is missing from this tree, screen readers cannot find it.
axe DevTools Extension
Install axe DevTools for more detailed testing than Lighthouse alone. It provides:
- Intelligent guided tests for complex issues
- Best practice violations beyond WCAG
- Issue grouping by component
Screen Reader Testing
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:
- Close your eyes or turn off the monitor
- Navigate using only keyboard
- Can you understand the page structure?
- Can you complete key tasks?
Keyboard Testing
Tab through your page:
- Can you reach all interactive elements?
- Is focus visible at all times?
- Can you operate all controls (buttons, menus, forms)?
- Can you escape from modals?
- Is tab order logical?
If any answer is no, users with motor impairments cannot use that feature.
Framework Considerations
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.
Test Your Entire Site
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.