Skip to content

Add axe kit - #245

Open
kristiyan-velkov wants to merge 1 commit into
docker:mainfrom
kristiyan-velkov:add-axe-kit
Open

Add axe kit#245
kristiyan-velkov wants to merge 1 commit into
docker:mainfrom
kristiyan-velkov:add-axe-kit

Conversation

@kristiyan-velkov

Copy link
Copy Markdown

Summary

  • Add an axe mixin that runs Deque axe-core 4.13.0 against a URL and prints the JSON report (exit 1 if there are violations).
  • Install Chromium via the same Playwright channel as the playwright / lighthouse kits (/opt/ms-playwright + CHROME_PATH=/usr/local/bin/chromium).
  • Document usage (OCI / git / local) and the deny-all allowlist.

Spec choices worth flagging for review

  • Not @axe-core/cli. That package depends on chromedriver@latest (unpinned postinstall download) and Selenium, which will not match Playwright Chromium. The kit installs @axe-core/playwright@4.13.0 + playwright@1.61.1 and ships a thin axe <url> [--save file.json] wrapper under files/home/.local/bin/axe.
  • Chromium install is skipped if /opt/ms-playwright already has a chrome binary (compose with playwright or lighthouse).
  • Runtime audits of external sites are not allowlisted — localhost works; anything else needs a per-sandbox rule.

Origin

New frontend-tool mixin, patterned on lighthouse/ and playwright/.

Test plan

  • ./scripts/test-kit.sh axe passes (the TCK)
  • ./scripts/test-kit-e2e.sh axe passes under deny-all
  • Manual smoke: sbx run --kit ./axe/ claude then axe http://localhost:3000 against a local page

Made with Cursor

Ship WCAG audits without @axe-core/cli's unpinned chromedriver@latest dependency.

Signed-off-by: kristiyan.velkov <christiyanweb@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@kristiyan-velkov
kristiyan-velkov requested a review from a team as a code owner August 27, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant