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.
70
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Deep reference for wcag-compliance-reporter SKILL.md. Consult when wiring the
compliance report into a dashboard / ACR pipeline or running the aggregation in
CI on every push.
In addition to the markdown, emit compliance.json for downstream consumption
(dashboards, ASR, programmatic gates):
{
"generatedAt": "2026-05-05T14:00:00Z",
"site": "example.com",
"verdict": { "A": "non-conformant", "AA": "non-conformant", "AAA": "unknown" },
"processes": [
{ "name": "checkout", "pagesSpec": [...], "pagesScanned": [...], "complete": false },
{ "name": "account", "pagesSpec": [...], "pagesScanned": [...], "complete": true }
],
"violations": [...]
}- name: Run scanners
run: |
npx pa11y-ci --json > pa11y.json
npx @axe-core/cli https://staging.example.com > axe.json
npx lighthouse-batch -s https://staging.example.com -o reports/
- name: Aggregate + report
run: python scripts/wcag_compliance.py \
--pa11y pa11y.json \
--axe axe.json \
--lighthouse reports/ \
--pages-spec pages-to-scan.yaml \
--out compliance/
- name: Upload
uses: actions/upload-artifact@v4
with:
name: wcag-compliance
path: compliance/