From uix
Audits a UI against WCAG 2.2 (Perceivable/Operable/Understandable/Robust), covering every AA criterion and all nine criteria new in 2.2 — focus not obscured, focus appearance, dragging movements, target size 24×24, consistent help, redundant entry, accessible authentication. Auto-activates on "accessibility audit", "WCAG check", "a11y review", "is this accessible", "check contrast", "keyboard accessible", or /uix:accessibility-audit. Produces a per-criterion pass/fail/NA report with fixes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/uix:accessibility-auditThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Audit UIs against WCAG 2.2. Auto-activates on a11y queries or via `/uix:accessibility-audit`. Bash is permitted only for contrast-ratio computation — no network, no filesystem writes.
Audit UIs against WCAG 2.2. Auto-activates on a11y queries or via /uix:accessibility-audit. Bash is permitted only for contrast-ratio computation — no network, no filesystem writes.
"accessibility audit" · "WCAG check / audit / compliance" · "a11y review" · "is this accessible" · "check contrast" · "keyboard accessible" · "screen reader" · "target size" · "focus ring" · "ARIA" · "color contrast ratio" · "dragging alternative" · "accessible authentication".
Ingest the target (file, URL, screenshot, or description). If only a description is given, ask for code or a rendered example — an a11y audit without concrete markup is guesswork.
Load WCAG criteria from ${CLAUDE_PLUGIN_ROOT}/references/UI_MASTER_GUIDE.md Part XII. Walk the four principles in order.
For each criterion evaluate: Pass / Fail / N/A / Needs manual check. Don't skip — explicit N/A is better than silent omission.
Output format:
## Accessibility Audit — <target>
### Summary
Conformance estimate: [A / AA / AA-with-gaps / fails-AA]
Critical blockers: N
Warnings: N
### Perceivable
- 1.1.1 Non-text Content (A) — [PASS/FAIL/NA] — evidence · fix
- 1.3.1 Info and Relationships (A) — ...
- 1.3.5 Identify Input Purpose (AA) — ...
- 1.4.3 Contrast (Minimum) (AA) — [ratios observed] ...
- 1.4.4 Resize Text (AA) — ...
- 1.4.10 Reflow (AA) — ...
- 1.4.11 Non-text Contrast (AA) — ...
- 1.4.12 Text Spacing (AA) — ...
- 1.4.13 Content on Hover or Focus (AA) — ...
### Operable
- 2.1.1 Keyboard (A) — ...
- 2.1.2 No Keyboard Trap (A) — ...
- 2.1.4 Character Key Shortcuts (A) — ...
- 2.4.1 Bypass Blocks (A) — ...
- 2.4.3 Focus Order (A) — ...
- 2.4.4 Link Purpose (A) — ...
- 2.4.6 Headings and Labels (AA) — ...
- 2.4.7 Focus Visible (AA) — ...
- 2.4.11 Focus Not Obscured (Min) (AA) 🆕 — ...
- 2.5.1 Pointer Gestures (A) — ...
- 2.5.2 Pointer Cancellation (A) — ...
- 2.5.3 Label in Name (A) — ...
- 2.5.7 Dragging Movements (AA) 🆕 — ...
- 2.5.8 Target Size (Min) (AA) 🆕 — ...
### Understandable
- 3.1.1 Language of Page (A) — ...
- 3.2.1 On Focus (A) — ...
- 3.2.2 On Input (A) — ...
- 3.2.3 Consistent Navigation (AA) — ...
- 3.2.4 Consistent Identification (AA) — ...
- 3.2.6 Consistent Help (A) 🆕 — ...
- 3.3.1 Error Identification (A) — ...
- 3.3.2 Labels or Instructions (A) — ...
- 3.3.3 Error Suggestion (AA) — ...
- 3.3.4 Error Prevention (AA) — ...
- 3.3.7 Redundant Entry (A) 🆕 — ...
- 3.3.8 Accessible Authentication (Min) (AA) 🆕 — ...
### Robust
- 4.1.2 Name, Role, Value (A) — ...
- 4.1.3 Status Messages (AA) — ...
### Critical fixes (ordered)
1. ...
2. ...
### Manual checks still needed
- Screen reader walkthrough (NVDA/VoiceOver)
- Keyboard-only navigation test
- Contrast measurement on dynamic states (hover/focus)
- Zoom to 400% reflow test
For contrast checks, if you have the actual color values, compute the WCAG ratio. Otherwise mark "Needs manual check" and list what to measure.
For keyboard/focus checks with code available, trace tab order in the markup. Flag any tabindex="-1" on interactive elements, missing focus styles (outline: none without replacement), and sticky headers that could obscure focus.
For the new 2.2 criteria, always evaluate explicitly even if unfamiliar — that's where most audits miss things.
outline: none without a replacement focus style always fails 2.4.7.<label> always fails 3.3.2 — aria-label on the input is acceptable only if the visible text matches.Full criterion list and the nine new 2.2 criteria table are in ${CLAUDE_PLUGIN_ROOT}/references/UI_MASTER_GUIDE.md Part XII.
Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub dinoquinten/claude-plugins --plugin uix