-
Notifications
You must be signed in to change notification settings - Fork 6
Axe Core Integration
github-actions[bot] edited this page Feb 23, 2026
·
2 revisions
The agents review your code and enforce accessibility patterns during development. axe-core tests the rendered page in a real browser. Together, they cover both sides: code-time enforcement and runtime verification.
-
MCP tool (
run_axe_scan) - Agents trigger axe-core scans programmatically via the MCP server - Agent instructions - The testing-coach and accessibility-wizard know when and how to run scans
- VS Code task - Manual scan trigger in the VS Code command palette
The run_axe_scan tool:
- Takes a URL (your running dev server), an optional CSS selector, and an optional report file path
- Runs
@axe-core/cliagainst the live page - Parses the JSON results
- Returns violations grouped by severity (Critical > Serious > Moderate > Minor)
- Includes affected HTML elements, WCAG criteria, and fix suggestions
- When
reportPathis provided, writes a structured markdown report to that file
Prerequisites:
npm install -g @axe-core/cliThe tool generates markdown reports with:
- Scan metadata (URL, date, standard, scanner)
- Summary table of violations by severity
- Each violation with WCAG criteria, help link, and affected elements
- HTML snippets showing problematic code
- Fix suggestions from axe-core
Output files:
| File | Written By | Contents |
|---|---|---|
ACCESSIBILITY-SCAN.md |
run_axe_scan tool |
Raw axe-core scan results |
ACCESSIBILITY-AUDIT.md |
accessibility-wizard | Consolidated: agent review + axe-core, deduplicated, with fixes |
The accessibility-wizard (Phase 9) asks if you have a dev server running and triggers a scan:
/accessibility-wizard run a full audit on this project
@accessibility-wizard audit this project for accessibility
The testing-coach runs ad-hoc scans:
/testing-coach run an axe-core scan on http://localhost:3000/dashboard
@testing-coach scan http://localhost:3000/checkout for accessibility issues
Any agent can interpret results you feed manually:
npx @axe-core/cli http://localhost:3000 --save results.json/accessibility-lead triage the violations in results.json
GitHub Actions:
- name: Run axe-core accessibility tests
run: |
npx @axe-core/cli http://localhost:3000 \
--tags wcag2a,wcag2aa,wcag21a,wcag21aa \
--exitTest framework packages:
npm install --save-dev @axe-core/playwright # Playwright
npm install --save-dev cypress-axe axe-core # Cypress
npm install --save-dev jest-axe # Jest (React)| Issue Type | Agents | axe-core | Manual Testing |
|---|---|---|---|
| Missing alt text | Yes | Yes | Yes |
| ARIA pattern correctness | Yes | Partial | Yes |
| Computed contrast ratios | No | Yes | Yes |
| Focus management logic | Yes | No | Yes |
| Live region timing | Yes | No | Yes |
| Tab order design | Yes | No | Yes |
| Keyboard trap detection | Yes | No | Yes |
| Third-party widget issues | No | Yes | Yes |
| Screen reader UX | No | No | Yes |
Agents catch ~70% of issues during code generation. axe-core catches some of the remaining issues by testing the rendered DOM. Manual testing covers what tools cannot.
- Accessibility Lead
- Web Accessibility Wizard
- Document Accessibility Wizard
- Alt Text and Headings
- ARIA Specialist
- Contrast Master
- Forms Specialist
- Keyboard Navigator
- Link Checker
- Live Region Controller
- Modal Specialist
- Tables Data Specialist
- Word Accessibility
- Excel Accessibility
- PowerPoint Accessibility
- PDF Accessibility
- Office Scan Config
- PDF Scan Config
- Testing Coach
- WCAG Guide