Skip to main content

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

On this page

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

Personaudit and GitHub accessibility scanner compared row by row
TopicGitHub accessibility scannerPersonaudit
LicenseMITMIT
What a finding becomesA 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.
FixingIssues can be assigned to GitHub Copilot. Copilot is optional.No fix automation. The report lists each element and the axe rule it failed.
Enginesaxe and accesslint built in, plus plugins.axe-core only, with no model calls.
What fails the buildThe 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 runsNot described in the README.A defect key built from the axe rule and a selector with framework-generated ids collapsed.
Accepting a known defectClose 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 feedbackThe 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 scannedA 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 pageslogin_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 neededA 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 rundry_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 in src/agent/defect-key.ts, and the suppression rules in src/crawler/suppressions.ts.