How the Accessibility Audit MCP fits your workflow, what to expect, and how we use LLM-oriented WCAG A/AA
coverage in audit_accessibility_violations and fix_accessibility_violations.
The Accessibility Audit MCP helps you scan and fix web accessibility issues in your codebase. It checks for compliance with WCAG 2.0 / 2.1 / 2.2 Level A and AA — the standard most teams use for web accessibility.
This guide walks you through using it effectively: auditing, reading the report, and applying fixes.
accessibility-report.mdTell the tool where your code lives and which file types to include.
Tool name: audit_accessibility_violations
Required parameters
target_path — folder or file to scan (for example
/path/to/your/project/src)
Optional parameters
file_extensions — list of extensions to check. Default often includes
.html, .vue, .jsx, .tsx, .js,
.ts. Example: [".vue", ".html", ".jsx"]
What happens
target_path are scannedaccessibility-report.md is generated<!-- VIOLATION 1.1.1: Image missing alt attribute -->
<img src="logo.png">
<!-- VIOLATION 1.4.3: Insufficient color contrast (2.5:1, needs 4.5:1) -->
<p style="color: #777;">Low contrast text</p>
Open accessibility-report.md. You should see:
Tool name: fix_accessibility_violations
Required parameters
report_path — path to the report from Step 1target_path — same root you audited in Step 1Optional parameters
auto_fix — true (default) to apply fixes, or false to review
suggestions only
What happens
Audits are organized around the four WCAG principles (Level A and AA scope in this MCP flow):
| Issue | WCAG rule (typical) | Fix direction |
|---|---|---|
| Image with no alt text | 1.1.1 | Add a descriptive alt (or appropriate pattern for decorative images) |
| Low color contrast | 1.4.3 | Adjust foreground/background to meet contrast ratio (commonly 4.5:1 for normal text) |
| Button with no accessible name | 4.1.2 | Add visible text, aria-label, or associated labelling |
| Form input without label | 1.3.1 | Associate <label> with for/id or equivalent |
| Non-semantic controls | 1.3.1 / 4.1.2 | Prefer native elements (<button>, headings, landmarks) where possible |
| Missing keyboard support | 2.1.1 | Ensure operability via keyboard; add handlers only when needed |
Run the audit on one folder (for example /src/components) before scanning the whole repo.
Read accessibility-report.md first. Use auto_fix: false when you want suggestions
without writing files.
Re-run the audit after fixes. Some items stay manual (context-heavy or design decisions).
The report and inline comments tie back to criteria. Understanding “why” helps you avoid repeats. Authoritative reference: WCAG Quick Reference.
Spot-check with a screen reader (NVDA, VoiceOver) and keyboard-only navigation after meaningful changes.
| Format | Typically supported |
|---|---|
| HTML | Yes |
| Vue | Yes |
| React (JSX) | Yes |
| TypeScript (TSX) | Yes |
| JavaScript / TypeScript | Yes (when templates or a11y patterns appear in scope) |
| Other | Add extensions via file_extensions if your MCP tool supports them |
Limitations
Safety
auto_fix for the first time.Compliance levels (reminder)
This MCP guide focuses on A and AA coverage in the audit instruction set.
accessibility-report.md and triage by severityRemember: Accessibility is for everyone using your product — good patterns improve clarity and resilience for all users.