# Accessibility audit record Tracks the findings from the S39 WCAG AA pass and their disposition (closed / accepted with rationale). Pair with the tooling under `tests/a11y/` (pa11y-ci + axe-core via Puppeteer) and the manual screen-reader passes. > **Status.** This file is the operator log. Entries get added > as findings come in; nothing here yet because the live audit > happens against the staging instance, not at code-write time. > The structure below shows the format the operator uses. ## Audited route set The S39 acceptance gate is "pa11y reports zero high-severity issues across the audited route set." Routes under audit: - Anonymous: `/`, `/signup`, `/login`, `/explore`, `/-/health` - Authenticated: dashboard, `/settings/profile`, `/settings/security/2fa`, `/new`, `/notifications`, one repo overview, one issue view, one PR view (with diff), one PR review form - Admin: `/admin/`, `/admin/users`, `/admin/users/{id}` Specifics for the manual SR pass on top of the automated runs: - Diff view labelling old/new sides for SR users. - Modal dialogs (delete-repo confirm, transfer-repo confirm, rotate-secret confirm) trap focus and announce on open. - Form errors associated with their fields via `aria-describedby`. - Tables (issue lists, PR lists, audit log) have proper `