Spaces:
Sleeping
Sleeping
Accessibility Audit Evidence
External validation of the WCAG 2.1 AA claims in
../wireframes.md Β§ Style Guide βΊ Accessibility Rationale.
Method
| Detail | Value |
|---|---|
| Tool | Lighthouse 12.x (Chromium headless via npx lighthouse) |
| Latest run | 2026-05-15 (post-remediation) |
| Target | http://localhost:7860/ (Docker container, parity with the live HF Space) |
| Categories audited | accessibility |
| Reports | lighthouse-home.report.html (human-readable), lighthouse-home.report.json (raw) |
Score
100 / 100 β all 26 Lighthouse accessibility audits pass, zero element findings.
Remediation history
| Run | Score | Outstanding failures |
|---|---|---|
| 1 β initial audit (2026-05-15 morning) | 89 / 100 | 4 rules / 6 elements |
2 β after <main>/contrast/h2 fixes |
98 / 100 | 1 rule / 1 element (h4 inside groupSection) |
| 3 β after h4 β h3 promotion | 100 / 100 | none |
Fixes applied between Run 1 and Run 3
color-contrast(3 buttons) β--accentdarkened from#6c8eff(3.02:1 against white) to#4860e8(5.10:1). Single token change infrontend/static/css/main.css; cascades to every primary-button background.aria-prohibited-attrβ addedrole="region"to#searchResultsso itsaria-labelhas a valid target.landmark-one-mainβ the page had a<main id="main">that wasdisplay:noneuntil a movie loaded, which axe-core treats as no main landmark. Renamed it to<section id="main">and added a real, always-visible<main>wrapping the page's primary content (epilepsy banner through reviews section). The skip-link target (#main) still works because the id was preserved.heading-orderβ promoted six top-level section headings fromh3toh2(Discover, Group Watch, Watchlist, Content Twins, Recommendations, Reviews), since they are semantic peers of the epilepsy banner'sh2. Three nestedh4s inside Group Watch (Group Members / Group Profile / Find Movies) were then promoted toh3for the same reason. CSS selectors targeting these headings were updated in parallel.
How to reproduce
docker compose up -d
npx lighthouse http://localhost:7860/ \
--only-categories=accessibility \
--output=json --output=html \
--output-path=./docs/wireframes/accessibility/lighthouse-home \
--chrome-flags="--headless --no-sandbox --disable-gpu" \
--quiet
The committed reports in this folder are the output of the post-remediation run; running the command above against a current container should reproduce the 100/100 score.