Skip to content

feat: add /a11y WCAG 2.1 AA accessibility audit skill#756

Open
Gonzih wants to merge 1 commit intogarrytan:mainfrom
Gonzih:feat/skill-a11y
Open

feat: add /a11y WCAG 2.1 AA accessibility audit skill#756
Gonzih wants to merge 1 commit intogarrytan:mainfrom
Gonzih:feat/skill-a11y

Conversation

@Gonzih
Copy link
Copy Markdown

@Gonzih Gonzih commented Apr 1, 2026

Summary

Adds a new /a11y skill for WCAG 2.1 AA accessibility compliance auditing using real browser testing (via the browse daemon) plus static source analysis.

6 check categories:

  • Tab order and keyboard navigation — focus traps, zero-size elements, visible focus indicator
  • Images and non-text content — missing alt, decorative vs meaningful distinction
  • Form labels and error handling — unlabeled inputs, missing aria-describedby on errors
  • Heading hierarchy and landmark structure — h1→h3 skips, missing <main>, duplicate navs
  • Color contrast sampling — 4.5:1 for normal text, 3:1 for large/UI components
  • ARIA usage — buttons/links without accessible names, invalid roles

Severity tiers: CRITICAL (blocks users) / HIGH (significantly degrades) / MEDIUM (reduces quality) / LOW (minor)

Modes:

  • /a11y <url> — full browser audit
  • /a11y <url> --fix — audit + apply minimal fixes per finding with re-verification
  • /a11y --code — static grep analysis only (no browser required)

Why

gstack already has /cso (security audit) and /qa (functional QA). Neither covers accessibility systematically. This fills the third leg of the quality triangle.

Legal context: WCAG 2.1 AA is now required by ADA, EAA (EU), and referenced in CVAA. Teams that skip accessibility until launch pay 10× more to fix it post-launch.

Design notes

  • Reports findings with WCAG criterion codes ([1.1.1], [2.1.2], etc.) so developers can look up official guidance directly
  • Fix mode applies the smallest change that achieves compliance — no component rewrites
  • Follows the same browse-daemon pattern as /qa and /canary
  • Preamble tier 2 (includes browse setup) since browser access is the primary audit path

Test plan

  • bun run gen:skill-docs generates a11y/SKILL.md without errors
  • Static skill validation passes (310 pass, 1 pre-existing failure unrelated to this skill)
  • Run /a11y https://example.com to verify Phase 2 browser checks work end-to-end
  • Run /a11y --code on a project with known missing alt tags to verify static grep

🤖 Generated with Claude Code

Adds a new /a11y skill for WCAG 2.1 AA compliance auditing using real
browser testing plus static source analysis.

Covers the 6 most common accessibility failure categories:
- Tab order and keyboard navigation (focus traps, zero-size elements)
- Images and non-text content (missing alt, decorative vs meaningful)
- Form labels and error handling (unlabeled inputs, missing aria-describedby)
- Heading hierarchy and landmark structure (h1→h3 skips, missing <main>)
- Color contrast sampling (4.5:1 for normal text, 3:1 for large/UI)
- ARIA usage (buttons/links without accessible names, invalid roles)

Reports findings by WCAG criterion code and severity (CRITICAL/HIGH/
MEDIUM/LOW/PASS). With --fix, applies minimal fixes for each confirmed
issue and re-verifies. With --code, runs static grep analysis only.

This fills the gap between /cso (security audit) and /qa (functional
testing): neither covers accessibility systematically. /a11y completes
the quality-assurance triangle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant