# US-12 — Play accessibly **As a** player with low vision, motor limitations, or motion sensitivity, **I want** readable contrast, keyboard-only lobby use, and motion controls, **so that** I can play and follow the game state. ## Acceptance criteria 1. All non-canvas UI (lobby, level list, result, HUD text) is real HTML with a logical focus order, visible focus rings, and ≥ 4.5:1 text contrast (3:1 for large text). 2. The entire lobby → level-select → start → result loop is operable with the keyboard only (no pointer required), with sensible default buttons. 3. Round start, score changes worth ≥ 10 points, order missed, and the round result are announced through a polite `aria-live` region; per-frame data is never announced. 4. `prefers-reduced-motion: reduce` removes screen shake, flicker, and parallax, keeping static hazard markers; the setting is also togglable in-game and persisted locally. 5. No information is conveyed by color alone: cooks, orders, and hazards have shape, label, or icon differences; a colorblind-safe palette option is provided. 6. Canvas has a text alternative: `role="img"` + an `aria-label` summarizing state, and a DOM "state panel" (toggleable) listing score, timer, orders, and hazards. 7. Text scales to 200% without loss of function; hit targets stay ≥ 44 px. 8. Sound is optional, off by default, and never required to know the game state. ## E2E suite `tests/e2e/test_us12_accessibility.py` — keyboard-only loop, focus order, contrast audit of computed styles, `aria-live` announcements for result, reduced-motion class applied. ## Phases `07_canvas_client_and_hud`, `11_campaign_levels_and_progression`, `14_accessibility_polish_and_hardening`