Skip to content

chore: replace pa11y-ci with axe incomplete-result warnings in Playwright - #858

Draft
lukasmatta wants to merge 6 commits into
masterfrom
857-remove-pa11y-surface-axe-incomplete-results-as-warnings-instead
Draft

lukasmatta wants to merge 6 commits into
masterfrom
857-remove-pa11y-surface-axe-incomplete-results-as-warnings-instead

Conversation

@lukasmatta

@lukasmatta lukasmatta commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

pa11y-ci and our Playwright+axe suite were redundant as both use axe-core. The only difference was how we used them: pa11y-ci failed on axe's "incomplete" results (things it couldn't fully confirm, e.g. combobox aria-controls, occluded color-contrast), while Playwright's expectNoViolations silently dropped them.

Changes:

  • Removed pa11y-ci (dependency, .pa11yci, npm scripts, CI job) and all README references.
  • Added annotateIncomplete() to axe-helpers.ts, wired into both accessibility specs
  • composition's incompletes were already triaged/fixed, so its scan additionally asserts there are none. cps-ui-kit's are still just warnings.
  • Added npm run test:playwright:accessibility:incomplete to list which tests have incomplete findings without opening the HTML report.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The warning command currently masks failed Playwright accessibility tests and exits successfully.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Replaces redundant pa11y-ci checks with Playwright axe incomplete-result annotations and warning reporting.

Changes:

  • Removes pa11y-ci configuration, dependency, CI job, and documentation.
  • Annotates axe incomplete results, while enforcing none for composition tests.
  • Adds a CLI utility and npm script for listing warnings.
File summaries
File Description
README.md Documents the consolidated accessibility workflow.
playwright/README.md Removes pa11y-ci references.
playwright/print-a11y-warnings.js Prints warning annotations from JSON reports.
playwright/fixtures/axe-helpers.ts Adds incomplete-result annotations.
playwright/cps-ui-kit/accessibility-cps-ui-kit.spec.ts Annotates component scan incompletes.
playwright/composition/accessibility-composition.spec.ts Annotates and rejects composition incompletes.
package.json Removes pa11y and adds the warning command.
package-lock.json Removes pa11y dependency tree.
.pa11yci Deletes obsolete scan configuration.
.gitignore Ignores the new temporary report.
.github/workflows/cps-shared-ui-checkers.yml Removes the pa11y CI job.
Review details
  • Files reviewed: 9/11 changed files
  • Comments generated: 3
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread package.json Outdated
Comment thread playwright/composition/accessibility-composition.spec.ts Outdated
Comment thread playwright/print-a11y-warnings.js Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The advertised command name and CI artifact documentation remain inconsistent with the implementation.

Get a fresh assessment by requesting another Copilot review.

Review details
  • Files reviewed: 9/11 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread package.json
Comment thread playwright/README.md Outdated
@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Playwright test results

passed  974 passed

Details

stats  974 tests across 35 suites
duration  33 minutes, 6 seconds
commit  d0f501e
info  For details, download the Playwright report

@github-actions

Copy link
Copy Markdown
Contributor

Coverage report for library

St.
Category Percentage Covered / Total
🟢 Statements 98.84% 7582/7671
🟢 Branches 93.87% 3902/4157
🟢 Functions 97.49% 1396/1432
🟢 Lines 99.34% 7034/7081

Test suite run success

3233 tests passing in 76 suites.

Report generated by 🧪jest coverage report action from d0f501e

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.

Remove pa11y, surface axe "incomplete" results as warnings instead

2 participants