Compare
Personaudit vs GitHub accessibility scanner
Both run axe-core in CI. They answer different questions: what is wrong on this site, and did this pull request make it worse.
Last reviewed 28 October 2026
As of 2026-10-28. Claims about GitHub's tool come from its README on that date. Check the README before you rely on a row, because both tools change.
The short version
GitHub's accessibility scanner is a good tool. It turns every finding into a trackable GitHub Issue, can hand those issues to Copilot, and runs more than one engine. If your team already works from issues, that workflow is hard to beat.
Personaudit does not file issues. It compares each run with a baseline and fails the build only on defects that are new, so a pull request is judged on what it changed. The two can run side by side.
Side by side
| Topic | GitHub accessibility scanner | Personaudit |
|---|---|---|
| License | MIT | MIT |
| What a finding becomes | A GitHub Issue. Grouping is set by group_by: finding (default), rule, or rule+url. | A row in the Markdown report and in scan.json. Personaudit does not file issues. |
| Fixing | Issues can be assigned to GitHub Copilot. Copilot is optional. | No fix automation. The report lists each element and the axe rule it failed. |
| Engines | axe and accesslint built in, plus plugins. | axe-core only, with no model calls. |
| What fails the build | The README describes filing, closing and reopening issues. It does not describe a pass or fail gate. | Only defects missing from a committed baseline, at or above a severity you set with fail-on. |
| Telling the same defect apart across runs | Not described in the README. | A defect key built from the axe rule and a selector with framework-generated ids collapsed. |
| Accepting a known defect | Close the issue and add the wontfix label. | A suppressions file where each entry has a reason, an owner and an expiry date. An expired entry on a still-present defect fails the gate. |
| Pull request feedback | The README describes issues, not a pull request comment. | One sticky pull request comment with new, fixed and still-open counts, when comment is true. |
| Which URLs get scanned | A urls list or a url_configs array with per-URL excludeSelectors and waitForSelectors. | A crawl from one start URL, capped by max-pages. There is no per-URL config file. |
| Signed-in pages | login_url, username and password inputs, or auth_context for complex flows. | A session you save yourself in a local browser with the CLI. The hosted service scans public pages only. |
| Credentials needed | A fine-grained personal access token stored as a repository secret. The default workflow token cannot be used. | No API key. The CLI and the GitHub Action run keyless. |
| Trial run | dry_run logs the issues it would file without opening any. | Run the CLI locally and read the report. Nothing is filed anywhere. |
Where GitHub's tool is better
- It files an issue per finding, so work is assigned, discussed and closed where the team already tracks it. Personaudit leaves a report.
- It can assign issues to Copilot for a proposed fix. Personaudit proposes nothing.
- It supports a second built-in engine, accesslint, and plugins. Personaudit runs axe-core only.
- It takes per-URL settings, including selectors to exclude and elements to wait for. Personaudit crawls from one start URL.
- It can log in with a username and password input. Personaudit needs you to save a session first.
Where Personaudit fits
- You inherit a site with hundreds of existing defects and want CI to block only new ones. Commit a baseline once, then fail on anything not in it.
- You need an accepted defect to come back for review. A suppression expires, and an expired suppression on a defect that is still there fails the gate.
- You cannot create a personal access token for a pipeline. The action needs no key.
- You want pull request feedback as one comment that updates in place, with counts of new, fixed and still-open defects.
Automated checks, from either tool, catch only part of what WCAG covers. A clean run does not mean the site works for everyone. See how Personaudit tests and the CI gate guide.
Sources
- github/accessibility-scanner README, read 2026-10-28. The latest release shown on the repository is v3.5.1, published 2026-10-16.
- Personaudit facts come from this project's own source: the action inputs in
action.yml, the defect key insrc/agent/defect-key.ts, and the suppression rules insrc/crawler/suppressions.ts.