qa-accessibility
Atomic accessibility coverage: 13 skills (a11y-violation-gate, aria-authoring-patterns, axe-a11y, ibm-equal-access-a11y, lighthouse-a11y, pa11y-a11y, screen-reader-test-author, wave-a11y, wcag-checklist-builder, wcag-color-contrast, wcag-focus-trap, wcag-keyboard-navigation, wcag-compliance-reporter) and 2 agents (accessibility-code-critic, screen-reader-test-executor).
Install this plugin
/plugin install qa-accessibility@testland-qaPart of role bundle: qa-role-frontend
qa-accessibility
Atomic accessibility coverage: 4 WCAG 2.2 conventions (keyboard, focus-trap, contrast, ARIA), screen-reader narrative authoring, a11y violation gate, adversarial code critic, checklist builder, 5 tool wrappers (axe / pa11y / Lighthouse a11y / WAVE / IBM Equal Access), and a WCAG conformance reporter.
Components
| Type | Name | Description |
|---|---|---|
| Skill | wcag-keyboard-navigation | WCAG 2.2 keyboard SCs (2.1.1, 2.1.2, 2.1.4, 2.4.3, 2.4.7, 2.4.11) with per-criterion test scripts. |
| Skill | wcag-focus-trap | Modal/drawer focus management - 6-step canonical pattern; native <dialog> integration. |
| Skill | wcag-color-contrast | WCAG 2.2 SCs 1.4.3/1.4.6/1.4.11/1.4.13; canonical ratios; design-token bulk checking. |
| Skill | aria-authoring-patterns | W3C ARIA Authoring Practices Guide reference for the 31 widget patterns. |
| Skill | screen-reader-test-author | Build NVDA / JAWS / VoiceOver / TalkBack manual test scripts with per-step keystroke + expected announcement. |
| Skill | a11y-violation-gate | CI gate with ratchet pattern: fail on new violations vs. baseline; aggregate axe / pa11y / Lighthouse / WAVE / IBM Equal Access. |
| Skill | wcag-checklist-builder | Per-archetype WCAG 2.2 checklist generator (static / trigger / form / multi-state / overlay / composite / live region / layout). |
| Agent | accessibility-code-critic | Adversarial source-code review for <div onclick>, missing focus mgmt, color-only cues, ARIA misuse; cites WCAG SC + remediation. |
| Agent | screen-reader-test-executor | Orchestrates a structured NVDA (Windows) / VoiceOver (macOS) manual test session - merges screen-reader-test-author scripts with wcag-checklist-builder checklists and emits a signed pass/fail session report. |
| Skill | axe-a11y | Run axe-core scans via JS API or @axe-core/playwright; tag-based WCAG selection; rule disable / per-element exclude. |
| Skill | pa11y-a11y | pa11y / pa11y-ci CLI runners; htmlcs + axe engines; WCAG2A/AA/AAA standard; multi-format reports. |
| Skill | lighthouse-a11y | Lighthouse CI Accessibility category - categories:accessibility + per-audit overrides; pairs with lighthouse-perf. |
| Skill | wave-a11y | WebAIM WAVE - visual overlay extension + WAVE API; WebAIM-branded reports for Section 508 / public-sector audits. |
| Skill | ibm-equal-access-a11y | IBM Equal Access accessibility-checker; WCAG 2.0/2.1/2.2 + IBM superset + Section 508; integrates with Playwright/Selenium/Cypress. |
| Skill | wcag-compliance-reporter | Build-an-X per-page WCAG 2.2 conformance report aggregating axe / pa11y / Lighthouse / WAVE / IBM output; per-SC + per-level rollup; "unknown" verdict for SCs no tool covers. |
Install
/plugin marketplace add testland/qa
/plugin install qa-accessibility@testland-qaSkills
a11y-violation-gate
Builds a CI gate that fails the build on **new** WCAG / a11y violations introduced by a PR while grandfathering pre-existing violations on a per-rule / per-page baseline. Aggregates verdicts from axe-core / pa11y / Lighthouse a11y / WAVE / IBM Equal Access scans. Use when a project has accumulated a11y debt and a strict "zero violations" gate would block every PR - the ratchet pattern lets the team ship while preventing regressions.
aria-authoring-patterns
Reference for the W3C ARIA Authoring Practices Guide (APG) - covers the 31 canonical interactive-widget patterns (Combobox, Dialog, Menu, Tabs, Tree, etc.), their required ARIA roles and states, the keyboard-interaction model per pattern, and the canonical-violations to watch for. Use when authoring a custom interactive widget that doesn't have a native HTML equivalent, or when reviewing one for ARIA correctness.
axe-a11y
Authors and runs axe-core accessibility scans - the most-deployed open-source a11y engine - via the `axe.run()` JavaScript API or the @axe-core/playwright / @axe-core/cli wrappers, parses the `violations[]` results into per-rule severity (critical / serious / moderate / minor), configures rule disable / disable-by-tag patterns, and emits JUnit-shaped output for CI gating. Use when the project ships UI tests in JavaScript / TypeScript and wants automated a11y coverage on every PR.
ibm-equal-access-a11y
Authors and runs IBM Equal Access accessibility-checker scans - IBM's open-source a11y engine with WCAG 2.0 / 2.1 / 2.2 + US Section 508 rule sets, integrating with Node / Selenium / Puppeteer / Playwright / Karma / Cypress test runners. Distinguished by IBM's enterprise-tier rule coverage and Section 508 specificity. Use when the project ships to US federal / public-sector customers (Section 508 mandate) or when the team values IBM-branded a11y reporting.
lighthouse-a11y
Configures Lighthouse CI's Accessibility category - `categories:accessibility` audits backed by axe-core - with per-URL minimum-score assertions and per-audit overrides, distinct from the Performance category that `lighthouse-perf` covers. Use when the project already runs Lighthouse CI for Web Vitals and the team wants to add a11y coverage in the same pipeline rather than spinning up a separate scanner.
pa11y-a11y
Authors and runs pa11y accessibility scans - a CLI / Node.js tool that wraps HTML CodeSniffer (htmlcs) and / or axe-core engines - with `pa11y <url>` invocation, reporter selection (cli / csv / json / html / tsv), WCAG standard selection (WCAG2A / WCAG2AA / WCAG2AAA), and rule ignoring. Use when the project needs scriptable a11y scans without a full test framework, or when a Node-stack project wants an alternative to direct axe-core use.
screen-reader-test-author
Builds a screen-reader test narrative - a step-by-step manual test script for NVDA (Windows), JAWS (Windows), VoiceOver (macOS / iOS), or TalkBack (Android) - that exercises a specific user flow through a component or page and captures the expected announcement at each step. Use when authoring an accessibility-acceptance test the team will run before sign-off, OR when scripting a manual a11y audit.
wave-a11y
Runs WebAIM WAVE accessibility scans via the WAVE API or the browser-extension UI - produces visual overlay of errors / alerts / structural elements directly on the page, plus categorized JSON output for CI use. Use when the team values manual-review-friendly visual feedback (the WAVE overlay) alongside automated CI scans, or when a regulatory audit requires WebAIM-branded reports.
wcag-checklist-builder
Builds a per-component WCAG 2.2 accessibility checklist from a component spec - covers focus management, color contrast, ARIA roles & states, keyboard interaction, error handling, and live-region announcements - emitting a markdown checklist or YAML test plan that pairs with screen-reader-test-author for manual verification and the violation gate for automated scans. Use during component-spec review or pre-implementation acceptance.
wcag-color-contrast
Reference for WCAG 2.2 color-contrast conformance - covers SC 1.4.3 Contrast (Minimum, AA), 1.4.6 Contrast (Enhanced, AAA), 1.4.11 Non-text Contrast (AA), and 1.4.13 Content on Hover or Focus (AA) - with the canonical contrast ratios (4.5:1 normal text, 3:1 large text and UI components), measurement formula references, and bulk design-token checking patterns. Use when designing a color palette, reviewing a component for accessibility, or auditing existing CSS for contrast violations.
wcag-compliance-reporter
Builds a per-page WCAG 2.2 compliance score report by aggregating output from one or more accessibility scanners (axe-core / pa11y / lighthouse / WAVE / IBM Equal Access), pivoting violations by Success Criterion (1.4.3 contrast, 2.4.7 focus visible, etc.), grouping by conformance level (A / AA / AAA), reporting per-page coverage gaps explicitly (the "this page wasn't scanned" failure mode), and emitting both an executive summary and a per-page drill-down. Use after a multi-page accessibility scan - pa11y-ci, axe across a sitemap, lighthouse-batch - when the team needs a shareable conformance report rather than a per-page tool dump.
wcag-focus-trap
Reference for **intentional** focus management in modal / dialog / drawer / popover components - the canonical pattern that satisfies WCAG SC 2.4.3 (Focus Order) without violating SC 2.1.2 (No Keyboard Trap). Covers focus-on-open, focus-cycle-within-container, Escape-closes-and-restores, return-to-trigger, and inert-the-rest-of-the-page. Use when authoring or reviewing any component that displays content over the page (modals, drawers, popovers, command palettes).
wcag-keyboard-navigation
Reference catalog for WCAG 2.2 keyboard-navigation conformance - covers SC 2.1.1 (Keyboard), 2.1.2 (No Keyboard Trap), 2.1.4 (Character Key Shortcuts), 2.4.3 (Focus Order), 2.4.7 (Focus Visible), 2.4.11/2.4.12 (Focus Not Obscured) - with conformance levels (A/AA), test scripts, and per-criterion failure patterns. Use when authoring or reviewing keyboard-only interaction support.
Agents
accessibility-code-critic
Adversarial reviewer of one component's source code for WCAG 2.2 violations - reads the JSX / template / CSS, hunts for `<div onclick>`, missing focus management, color-only state cues, mishandled ARIA, missing label associations, and other anti-patterns from the four WCAG / ARIA reference skills, and produces a per-finding report with WCAG SC citation plus concrete remediation. Use proactively in PR review of any UI component, especially custom interactive widgets.
screen-reader-test-executor
Orchestrates a structured manual screen-reader test session for NVDA (Windows) and VoiceOver (macOS) - composes screen-reader-test-author's keystroke scripts with wcag-checklist-builder's per-archetype checklist, walks the tester through each checkpoint in sequence, and emits a signed pass/fail session report. Distinct from accessibility-code-critic (static source review, read-only) and screen-reader-test-author (script authorship only, no execution guidance). Use when a component has passed automated scans and static review and a human tester needs a guided manual session to sign off accessibility acceptance.