Review Accessibility (internal)
Composed by review-change / product-audit within their conversation — on any
agent, follow this file inline as the routed step. Findings only; never edits,
never refactors.
Scope
The caller's diff or path/glob — the shape is the finder contract's
(skills/review-implementation/references/FINDER_CONTRACT.md, this section's owner). State the scope at the top of the
returned table.
Checklist (evaluate EVERY item — none is optional; n/a must be stated)
✓ Semantic elements over generic ones (button not clickable div; headings in order; landmarks present)
✓ Every input has an associated label; every image an alt (empty alt only when decorative)
✓ Full keyboard operability of the changed surface (tab order, Enter/Space activation, Escape to dismiss)
✓ Focus management on dynamic changes (modals trap + restore focus; route changes move focus)
✓ Contrast of changed text/UI meets the project's declared level (default WCAG AA) — cite computed values where checkable
✓ ARIA used correctly and only when semantics can't do it (wrong ARIA is a WARNING finding)
✓ No information conveyed by color alone
✓ Motion/animation respects reduced-motion preferences (n/a if no motion added)
✓ Error messages programmatically associated with their fields
Materiality bar
The bar is owned by skills/review-implementation/references/FINDER_CONTRACT.md —
apply it as written: cite the rule it violates beside the evidence; never pad the table.
Return exactly
Sev and Impact are the two published closed sets (BLOCKER | CRITICAL | WARNING | SUGGESTION and blocking | docs-only | report-only); their meanings
are owned by review-implementation (CLASSIFY.md §Severity ladder) — assign a
token, never a prose grade.
REVIEW ACCESSIBILITY — scope: <scope>
| # | Finding | Sev | Impact | Evidence | Suggested fix |
|---|---------|-----|--------|----------|---------------|
| 1 | <what> | BLOCKER|CRITICAL|WARNING|SUGGESTION | blocking|docs-only|report-only | <file:line> | <smallest action> |
Checklist: <n> evaluated, <n> pass, <n> findings, <n> n/a (<which + why>)
Summary: <1-2 sentences>
Decision: PASS | FAIL
FAIL if any BLOCKER, CRITICAL or WARNING finding is open; PASS otherwise.
SUGGESTION findings never block — they route to the caller's triage step.
Done when
- Every checklist item was evaluated with evidence (file:line or command output) or explicitly marked n/a with the reason.
- The fixed-format block above is returned — nothing more, nothing less — and no code was changed.