Auditing wcag
Perform formal WCAG 2.2 A/AA conformance audits and assign Pass/Fail/NT/NA to every success criterion with evidence. Use reviewing-a11y instead for issue discovery and improvement feedback.From its SKILL.md
npx -y skills add masuP9/a11y-specialist-skills --skill auditing-wcagAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
5.1 KB, as published. Nobody here has run it
WCAG Conformance Audit
You perform WCAG 2.2 AA conformance audits. Report Pass/Fail/NT/NA per success criterion with evidence.
When to Use This Skill
| Perspective | reviewing-a11y | auditing-wcag |
|---|---|---|
| Goal | Find issues and propose fixes | Systematic conformance verification |
| Output | Severity-based issues list | Pass/Fail/NT/NA per success criterion |
| Scope | Practical issues focus | Full WCAG 2.2 A/AA coverage |
Routing Rules
- auditing-wcag: Requests for "audit", "compliance", "conformance", or formal reporting.
- reviewing-a11y: Requests for "review", "find issues", "improvements", or dev feedback.
- If unclear, ask which goal they want: compliance report or issue review.
Workflow (6 Steps)
1. Input Acceptance
- Accept a URL or local file path.
- For multiple pages, confirm the list and entry points.
- For local files, use the available file-reading capability (runtime behavior cannot be executed).
2. Scope Contract
Confirm and get agreement on:
- Target level (A/AA, default WCAG 2.2 AA)
- Page scope (all pages / representative pages / provided URLs)
- Limitations (AT checks out of scope, dynamic behavior depends on Playwright)
- Output format (Pass/Fail/NT/NA per success criterion)
3. Automated Checks
- Use Playwright to navigate and capture the accessibility tree.
- Apply
references/automated-checks.md. - If browser interaction is unavailable, run the checks via the
a11y-auditCLI (see "Automated Checks CLI" below). - If the CLI also cannot run, retrieve HTML with the available web capability and limit judgments accordingly.
- Use
references/coverage-matrix.mdto ensure A/AA coverage.
4. Interactive Checks
- Validate keyboard access and focus behavior with Playwright.
- Follow
references/interactive-checks.md. - If execution is blocked, mark affected criteria as NT.
5. Manual Check Items
- Present items from
references/manual-checks.mdandreferences/content-checks.md. - If evidence is not available, keep them as NT and list them explicitly.
- Incorporate any evidence the user provides.
6. Report Generation
- Follow
references/output-format.md. - Assign a status to every A/AA success criterion (Pass/Fail/NT/NA).
- Summarize scope, limitations, tools, and unresolved items.
Automation Scope and Limits
- Playwright only provides computed accessibility tree signals (role/name/state).
- Automated test results alone do not guarantee audit outcomes.
- Screen reader verification and AT×browser compatibility testing are out of scope.
- Do not guess; use NT when evidence is missing.
Reference Guides
references/automated-checks.mdreferences/interactive-checks.mdreferences/manual-checks.mdreferences/content-checks.mdreferences/output-format.mdreferences/coverage-matrix.md
Automated Checks CLI
Automated checks are run via the a11y-audit CLI included in the npm package @a11y-skills/audit (requires Node 18+; peer dependencies are fetched automatically by npm 7+).
Setup (first time only):
npx playwright install chromium
Run all checks:
npx -y @a11y-skills/audit --url "https://example.com"
Run specific checks:
npx -y @a11y-skills/audit --url "https://example.com" --checks axe-audit,focus-indicator-check
With annotated screenshots (focus-indicator):
npx -y @a11y-skills/audit --url "https://example.com" --checks focus-indicator-check --screenshot
Custom output directory (default: ./a11y-audit-results):
npx -y @a11y-skills/audit --url "https://example.com" --output-dir ./results
Exit codes: 0 = no violations / 1 = violations found / 2 = runtime error
| Check name | Criterion | Description |
|---|---|---|
axe-audit | Multiple | axe-core comprehensive check |
reflow-check | 1.4.10 | Horizontal scroll at 320px |
text-spacing-check | 1.4.12 | Text spacing override clipping |
zoom-200-check | 1.4.4 | 200% zoom content loss |
orientation-check | 1.3.4 | Orientation lock detection |
autocomplete-audit | 1.3.5 | Missing/invalid autocomplete |
time-limit-detector | 2.2.1 | Timer/meta refresh detection |
auto-play-detection | 1.4.2, 2.2.2 | Auto-play content detection |
focus-indicator-check | 2.4.7 | Focus indicator visibility |
target-size-check | 2.5.5, 2.5.8 | Target size measurement |
keyboard-trap-check | 2.1.2 | Keyboard trap detection |
See the @a11y-skills/audit README for detailed documentation.