Use after an accessibility scan across many pages (pa11y-ci, axe over a sitemap, Lighthouse batch) when the team needs a shareable conformance report. Groups violations by WCAG 2.2 success criterion and level, flags pages that were not scanned and writes a summary plus per-page detail.
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
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/