leekeh/Accessibility Check

Run axe-core accessibility tests (WCAG 2.1 AA) against a running web app and post results as a PR comment.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 29, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: leekeh/axtion@6b9b31f8e4d39e29f201f1c2370e32de2b45bbc3 # v0.1.1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
base-urlBase URL of the running app (e.g. http://localhost:3000)yes
routesJSON array of routes to test. Each item can be a plain string or a route object: ["/", "/about", { "path": "/dashboard", "name": "Dashboard", "readiness": { "type": "selector", "selector": "#app" } }] Mutually exclusive with routes-file.
routes-filePath to a JSON routes file. Accepts the same JSON array format as the routes input. Mutually exclusive with routes.
browserBrowser to use. One of: chromium, firefox, webkitchromium
workersNumber of parallel Playwright workers2
wait-strategyDefault page readiness strategy applied to all routes unless overridden per-route. - networkidle: wait until no network requests for 500ms (good default for most apps) - load: wait for the load event - domcontentloaded: wait for DOMContentLoaded networkidle
exclusionsJSON array of CSS selectors to exclude from axe scans. E.g. '["iframe", ".ads"]'[]
rulesJSON array of axe-core rule IDs to run exclusively. When set, only the listed rules are enabled and all others are skipped. See https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md for the full list. E.g. '["color-contrast", "image-alt"]'
rulesetsJSON array of axe-core tag strings (rulesets) to run. When set, only rules matching at least one tag are enabled. Common values: "wcag2a", "wcag2aa", "wcag2aaa", "wcag21a", "wcag21aa", "wcag22aa", "best-practice". See https://www.deque.com/axe/core-documentation/api-documentation/#axecore-tags for all tags. E.g. '["wcag2aa", "wcag21aa"]'
disabled-rulesJSON array of axe-core rule IDs to disable. Use this to suppress specific rules while keeping everything else active. See https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md for IDs. E.g. '["color-contrast"]'
generate-reportGenerate HTML reports for violations and upload as GitHub Actions artifactstrue
post-commentPost (or update) a PR comment with test results. Only runs on pull_request events.true
github-tokenGitHub token for posting PR comments. Requires issues: write (PR comments use the Issues API). Defaults to the workflow token. ${{ github.token }}
comment-template-successPath to a custom Mustache-style template (.md) for the success comment. Available variables: {{repo}}, {{pr_number}}, {{status}}
comment-template-failurePath to a custom Mustache-style template (.md) for the failure comment. Available variables: {{repo}}, {{pr_number}}, {{status}}, {{report_url}}, {{affected_routes}}, {{report_url_section}}, {{timed_out_section}}
namedescription
violations-found'true' if accessibility violations were found
report-urlURL to the Actions run where artifacts are available (empty if generate-report is false or tests passed)