Skip to content

Tools

The Accessibility Suite contains six tools. This page provides a detailed guide to each one: what it does, how to install it, how to use it, and what output to expect.

The scanner. Scans CLI output, error messages, and user-facing strings for accessible error message patterns. Produces a scorecard that downstream tools consume.

DetailValue
StackPython 3.10+
PackagePyPI: a11y-lint
Sourcesrc/a11y-lint/
Terminal window
pip install a11y-lint
# or editable from monorepo:
pip install -e src/a11y-lint

Scan a file or directory and write outputs to the artifact directory:

Terminal window
a11y-lint scan docs --artifact-dir .a11y_artifacts

You can also scan a single file:

Terminal window
a11y-lint scan output.txt
  • .a11y_artifacts/current.scorecard.json — the scorecard (required meta object with tool/version, plus a findings[] array where each finding has id, severity, message, and optional location)
  • .a11y_artifacts/result.json — detailed scanner result data
Error IDMeaning
A11Y.SCAN.IOInput path does not exist
A11Y.SCAN.SCHEMAOutput directory not writable

If a11y-ci rejects your scorecard, verify that it contains the required fields: meta.tool, meta.version, and each finding has id, severity, and message.


The policy gate. Turns findings into a pass/fail decision, detects regressions against a baseline, supports allowlist waivers, and produces evidence bundles and PR comments.

DetailValue
StackPython 3.10+
PackagePyPI: a11y-ci / npm: @accessibility-suite/ci
Sourcesrc/a11y-ci/
Terminal window
pip install a11y-ci

Run the gate against the artifact directory:

Terminal window
a11y-ci gate --artifact-dir .a11y_artifacts

Set a severity threshold (only fail on violations at or above this level):

Terminal window
a11y-ci gate --artifact-dir .a11y_artifacts --fail-on serious

Generate a PR comment from evidence:

Terminal window
a11y-ci comment --mcp .a11y_artifacts/evidence.json --platform github --top 10 > .a11y_artifacts/comment.md
  • Baseline: If .a11y_artifacts/baseline.scorecard.json exists, a11y-ci automatically compares the current scorecard against it to detect regressions.
  • Allowlist (waivers): If .a11y_artifacts/allowlist.json exists, findings matching an allowlist entry are suppressed. Each waiver requires an owner, expires date, and optionally a ticket reference. Findings are matched by id or fingerprint.
FileDescription
gate-result.jsonStructured pass/fail result (machine-readable)
report.txtHuman-readable report optimized for quick reading and low-vision clarity
evidence.jsonEvidence bundle with traceability metadata and SHA-256 hashes
comment.mdPR comment markdown for GitHub or Azure DevOps
CodeMeaning
0PASS
1Internal tool error
2Input error (schema invalid, missing required file)
3Gate failed (policy violation, regression, or expired waiver)

Fix guidance engine. Given a known failure signature, it suggests safe remediation steps. Output is tuned to one of five accessibility profiles.

DetailValue
StackPython 3.10+
PackagePyPI: a11y-assist
Sourcesrc/a11y-assist/
Terminal window
pip install a11y-assist

Get help for a specific rule:

Terminal window
a11y-assist help --rule "aria-required"

Explain a failure with profile-specific guidance:

Terminal window
a11y-assist explain --json error.json --profile screen-reader
ProfileWhat it optimizes for
standardGeneral remediation guidance
low-visionLarge text, high contrast, magnification-friendly fixes
screen-readerARIA attributes, landmark roles, focus management
dyslexiaFont choices, spacing, reading flow
cognitive-loadSimplified language, progressive disclosure, reduced complexity
  1. Run a11y-ci gate and inspect report.txt
  2. Use the help_url or help_hint fields in findings to locate the rule
  3. Run a11y-assist for structured, profile-specific guidance

Provenance scanner. A headless engine that generates traceable, structured accessibility evidence from HTML files — not just a list of findings, but screenshots, DOM snapshots, and a manifest with cryptographic integrity.

DetailValue
StackNode.js 18+
Packagenpm: @accessibility-suite/evidence-engine
Sourcesrc/a11y-evidence-engine/
Terminal window
npm install -g @accessibility-suite/evidence-engine
Terminal window
a11y-engine scan ./html --out ./results
  • Screenshots (.png)
  • DOM snapshots (.html)
  • .a11y_artifacts/evidence-manifest.json — links all artifacts together with SHA-256 hashes
  • Store evidence artifacts under .a11y_artifacts/ (or a subfolder like .a11y_artifacts/evidence/)
  • Reference them from evidence.json so everything is linked and verifiable

MCP integration layer. An MCP server that exposes accessibility evidence capture and diagnosis as tools for AI assistants.

DetailValue
StackNode.js 18+
Packagenpm: @accessibility-suite/mcp-tools
Sourcesrc/a11y-mcp-tools/
Terminal window
npm install -g @accessibility-suite/mcp-tools

Start the MCP server:

Terminal window
mcp-server-a11y --evidence-dir .a11y_artifacts

The server reads evidence.json from the artifact directory and exposes it as MCP resources and prompts.

ToolDescription
a11y.evidenceCapture tamper-evident evidence bundles from HTML, CLI logs, or other inputs
a11y.diagnoseRun WCAG rule checks over evidence bundles with provenance verification

For MCP client configuration, see MCP Integration.


End-to-end demo. A static site with intentional accessibility violations, designed for testing the full pipeline.

DetailValue
StackHTML
Sourceexamples/a11y-demo-site/
Terminal window
cd examples/a11y-demo-site
npm install
npm run dev
  • How evidence is generated from real HTML
  • How the CI gate catches violations and produces reports
  • How PR comments look with real findings
  • How to validate new workflows or rules without touching production repos

Use the demo site as the “golden tutorial” — it exercises every tool in the suite.