# Share an Accessibility Report — axe, pa11y and Lighthouse Results on a Link

Canonical: https://commareports.com/share-accessibility-report
Published: 2026-08-22

> Accessibility findings are fixed by designers and content owners who have no CI access. Publish the axe or pa11y HTML report to Comma: one stable URL, a thread per violation, and a revision per run showing what got fixed.

# Share an accessibility report

Accessibility testing has an unusual property: the tool runs in
engineering, and most of the fixes don't belong to engineering. Alt text
is a content decision. Link wording is a content decision. Contrast and
focus order are design decisions. Heading structure is usually both.

So the report lands in a CI artifact zip, which is the one place none of
those people can reach, and the ticket that comes out of it says
"fix a11y issues" with a screenshot attached.

## Publish the report instead

```bash
npx pa11y-ci --reporter pa11y-ci-reporter-html || true

curl -fsS -X PATCH \
  "https://commareports.com/api/v1/reports/$COMMA_REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html pa11y-ci-report/index.html \
        --arg title "Accessibility — $(date +%F)" \
        '{title: $title, html: $html}')"
```

For `@axe-core/cli`, run it with `--save results.json` and render with
`axe-html-reporter`; for Lighthouse, `--output html` already writes a
self-contained file. All three publish with the same curl. Use a
[scoped token](/docs/api-tokens) with `reports:write`.

## What the link makes possible

- **A thread per violation.** The content owner highlights the row and
  writes the alt text directly on it; the developer resolves the thread
  when it ships. See [commenting on HTML](/comment-on-html).
- **Proof of progress.** Revisions at one URL make "we cleared 34 of the
  41 serious violations this quarter" a diff, not a claim. See
  [revisions and diffs](/share-html-report).
- **External auditors, scoped.** Share one report with a named reviewer.
  See the [sharing model](/docs/sharing).
- **A standing scan.** A [routine](/docs/routines) reruns the audit on a
  schedule so regressions surface between releases.

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited
revision history.

**[Create your first report →](https://commareports.com/)**

### Related

- [Lighthouse](/share-lighthouse-report) — performance and a11y in one report
- [Commenting on HTML](/comment-on-html) · [Sharing model](/docs/sharing)
- [Publish from CI](/docs/ci)
