Help us improve
Share bugs, ideas, or general feedback.
From deepest-plan
WCAG 2.1 AA audit via axe-core, keyboard-navigation probe, and screen-reader label verification. Required for any UI plan that ships or modifies a user-visible surface. Optional skill listed in deepest-plan tool_enrichment when in scope.
npx claudepluginhub krzemienski/deepest-plan-plugin --plugin deepest-planHow this skill is triggered — by the user, by Claude, or both
Slash command
/deepest-plan:accessibility-auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Evaluates keyboard accessibility, screen-reader semantics, color contrast, and common WCAG 2.1 AA rules for web and native UIs. Optional — include in a plan when a UI surface is created or modified AND accessibility compliance is required.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Evaluates keyboard accessibility, screen-reader semantics, color contrast, and common WCAG 2.1 AA rules for web and native UIs. Optional — include in a plan when a UI surface is created or modified AND accessibility compliance is required.
npx @axe-core/cli http://localhost:3000/target-route \
--save e2e-evidence/vgN-axe.json \
--tags wcag2a,wcag2aa
PASS criterion: [.violations[] | select(.impact=="serious" or .impact=="critical")] | length == 0
<label> or aria-labelaria-label<header>, <main>, <nav>, <footer>aria-live where dynamic updates occur| Dimension | Tool | File |
|---|---|---|
| axe-core | @axe-core/cli | e2e-evidence/vgN-axe.json |
| Keyboard | Manual sequence via agent-browser | e2e-evidence/vgN-keyboard.md (text trace + screenshots per stop) |
| Screen reader | VoiceOver / NVDA announcement transcript | e2e-evidence/vgN-sr-transcript.md |
| Contrast | Browser DevTools or axe-core output (included) | e2e-evidence/vgN-axe.json |
Accessibility gates use web-validation as the base platform skill with this additional PASS rule:
<validation_gate id="VG-N" blocking="true" platform="web"
protocol="functional-validation"
platform_skill="web-validation"
verdict_by="gate-validation-discipline">
...
<pass_criteria>
[normal UI criteria]
AND axe violations with impact in (serious, critical) == 0
AND every interactive element reachable via Tab (see vgN-keyboard.md)
AND heading hierarchy sequential (no h1 → h4 skips)
</pass_criteria>
<review>
jq -e '[.violations[] | select(.impact=="serious" or .impact=="critical")] | length == 0' e2e-evidence/vgN-axe.json
Read tool: vgN-keyboard.md — verify Tab trace reaches every control
</review>
</validation_gate>
| Finding | Typical cause | Fix |
|---|---|---|
| color-contrast violation | Gray-on-white text | Darken text or use bolder weight |
| label missing | Input without <label> or aria-label | Add label; use htmlFor |
| button-name missing | Icon button with no text | Add aria-label or sr-only text |
| heading-order | h1 followed by h4 | Fix heading levels to be sequential |
| no-skip-link | Missing "Skip to main content" | Add skip link as first focusable element |
<open_questions> with rationaleAxe reports may include source HTML snippets. Treat as evidence; store in gitignored e2e-evidence/.