Skip to docs content
CI/CD Integration
Run Speakable in your build pipeline to catch accessibility regressions on every pull request.
Installation
Install Speakable as a dev dependency in your project:
Terminal
npm install --save-dev speakable
GitHub Actions
Add this step to your workflow to run accessibility checks on every push:
.github/workflows/a11y.yml
- name: Run Speakable run: npx speakable analyze ./dist/index.html --engine all --format json - name: Check for regressions run: npx speakable diff ./baseline.json ./current.json --fail-on-change
GitLab CI
.gitlab-ci.yml
accessibility:
stage: test
script:
- npx speakable analyze ./dist/index.html --engine all --format json
- npx speakable diff ./baseline.json ./current.json --fail-on-changeExit Codes
| Code | Meaning |
|---|---|
| 0 | Analysis completed successfully, no regressions |
| 1 | Regressions detected (screen reader output changed) |
| 2 | Invalid input (empty HTML, bad selector, file not found) |
JSON Output
Use --format json to get machine-readable output for programmatic comparison:
JSON Output
{
"version": "1.0",
"root": {
"role": "button",
"name": "Submit",
"state": {},
"focus": { "focusable": true },
"children": []
},
"metadata": {
"extractedAt": "2026-04-02T12:00:00Z"
}
}