lerpa
ver1.0.0
node20.11
branch⎇ main
uptime14d 03:42:17
cpu3.2%
mem14 MB
teams4,213
utc00:00:00
LIVE
$axe-core --scan ./ --level AAA6/6 rules · live

A11y
first.

Lerpa UI ships with axe-core baked into the test suite. Every component passes WCAG 2.1 AA and most reach AAA. These are the rules the agent enforces on every PR.

Strict WCAG 2.1 AA & AAA contrast compliance (4.5:1 ratio minimum)
R1passing
Full keyboard focus navigation (Tab / Shift+Tab / ArrowKeys) on all interactives
R2passing
Explicit ARIA labels (aria-expanded, aria-describedby, aria-hidden)
R3passing
Focus rings preserved — never removed via outline:none without replacement
R4passing
Semantic elements: <button> not <div onClick>; <nav>/<main>/<aside> landmarks
R5passing
Reduced-motion gating via usePrefersReducedMotion across every animated component
R6passing
— motionReduced motion baked in

Every animated primitive checks usePrefersReducedMotion. Set the OS flag, the motion stops — no flicker, no rebuild.

— keyboardKeyboard-first

Roving focus, Esc-to-close, ⌘K wired in dropdowns / dialogs / command palettes. Tested in axe-core + vitest-axe.

— contrastAAA contrast

Token palette tuned for ≥4.5:1 on body, ≥3:1 on UI chrome. Every theme variant verified.

lerpa · running
turbopack142ms
a11yAAA
tokens14
network14kb