Self-scan
This site passes its own scan
This page is generated at build time and describes the exact build you are looking at. The scan is a release gate, not a decoration: a build that fails any check below never reaches production, so there is no version of this page that says “fail”.
What this build passed
axe-core — WCAG 2.2 AA + best practices
Every route, in both color themes, at 1440px and 390px viewports. Zero violations allowed — one finding fails the build.
Design-token contrast
26 light and 20 dark text/background pairs validated against WCAG thresholds (4.5:1 body text, 3:1 large text and UI) before every build.
Lighthouse budgets
Accessibility 100, best practices 100, SEO 100 and performance ≥ 95 on every page. LCP ≤ 1.5 s, CLS = 0, JavaScript ≤ 100 kB.
Keyboard and structure
Visible 2px focus ring on every interactive element, list semantics preserved for screen readers, form errors announced via live regions, exactly one h1 and a main landmark per page.
What a scanner can’t check
Automated checks catch only part of WCAG — the same limitation we are upfront about in the product. Reading order, honest link text and screen-reader flow are reviewed by hand, and the release checklist includes a manual pass with a screen reader.