improve: enhance accessibility-tester agent based on automated review - #814
Conversation
- Fix pa11y guidance to use --runner axe (default htmlcs runner is WCAG 2.0-era, misses 2.1/2.2 violations) - Note axe-core version requirement (>=4.5) for reliable WCAG 2.2 rule coverage - Annotate which WCAG 2.2 new criteria are actually automatable (only 2.5.8 via axe-core target-size) - Add a fully worked example finding to anchor severity/remediation phrasing - Add document/PDF accessibility checklist item (Section 508/EAA scope) - Add forced-colors / prefers-contrast manual checklist item Automated review cycle | Co-Authored-By: Claude Code <noreply@anthropic.com>
👋 Thanks for contributing, @davila7!This PR touches What happens next
While you wait
This is an automated message. No action is required from you right now — a maintainer will review soon. |
|
| Metric | Count |
|---|---|
| Total Components | 769 |
| ✅ Passed | 358 |
| ❌ Failed | 411 |
| 977 |
❌ Failed Components (Top 5)
| Component | Errors | Warnings | Score |
|---|---|---|---|
vercel-edge-function |
3 | 4 | 81/100 |
prompt-engineer |
2 | 0 | 90/100 |
neon-expert |
2 | 2 | 88/100 |
agent-overview |
2 | 1 | 89/100 |
unused-code-cleaner |
2 | 1 | 89/100 |
...and 406 more failed component(s)
📊 View Full Report for detailed error messages and all components
Greptile SummaryThe accessibility-testing agent now gives more precise axe-backed scanning guidance, distinguishes automated from manual WCAG 2.2 coverage, and expands its manual audit checklist.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| cli-tool/components/agents/accessibility/accessibility-tester.md | The audit guidance is expanded, and the prior contrast-mode findings are resolved by requiring both forced-colors and prefers-contrast testing. |
Reviews (5): Last reviewed commit: "fix: give a concrete command for checkin..." | Re-trigger Greptile
…tester Addresses review feedback on PR #814 — the manual checklist tested Windows High Contrast (forced-colors) but omitted the distinct prefers-contrast media feature, which interfaces can also use for alternate high-contrast styling. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QTTuf1dEt7QW83eyAPV7Lm
|
| Metric | Count |
|---|---|
| Total Components | 769 |
| ✅ Passed | 358 |
| ❌ Failed | 411 |
| 977 |
❌ Failed Components (Top 5)
| Component | Errors | Warnings | Score |
|---|---|---|---|
vercel-edge-function |
3 | 4 | 81/100 |
prompt-engineer |
2 | 0 | 90/100 |
neon-expert |
2 | 2 | 88/100 |
agent-overview |
2 | 1 | 89/100 |
unused-code-cleaner |
2 | 1 | 89/100 |
...and 406 more failed component(s)
📊 View Full Report for detailed error messages and all components
The previous wording used "or", allowing an audit to satisfy the checklist item by testing only one of the two distinct contrast display modes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QTTuf1dEt7QW83eyAPV7Lm
|
| Metric | Count |
|---|---|
| Total Components | 769 |
| ✅ Passed | 358 |
| ❌ Failed | 411 |
| 977 |
❌ Failed Components (Top 5)
| Component | Errors | Warnings | Score |
|---|---|---|---|
vercel-edge-function |
3 | 4 | 81/100 |
prompt-engineer |
2 | 0 | 90/100 |
neon-expert |
2 | 2 | 88/100 |
agent-overview |
2 | 1 | 89/100 |
unused-code-cleaner |
2 | 1 | 89/100 |
...and 406 more failed component(s)
📊 View Full Report for detailed error messages and all components
There was a problem hiding this comment.
Review completed against the latest diff
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
… scope pa11y's axe runner maps WCAG2AA to wcag2a/wcag21a/wcag2aa/wcag21aa tags only (confirmed against pa11y/pa11y#666 and lib/runners/axe.js) — it does not include wcag22aa, and pa11y has no --tags CLI flag. Also scope the axe-core version check to the tool actually being run, since @axe-core/cli --version only reports its own bundled axe-core, not pa11y's or @axe-core/playwright's independently-resolved versions. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QTTuf1dEt7QW83eyAPV7Lm
|
| Metric | Count |
|---|---|
| Total Components | 769 |
| ✅ Passed | 358 |
| ❌ Failed | 411 |
| 977 |
❌ Failed Components (Top 5)
| Component | Errors | Warnings | Score |
|---|---|---|---|
vercel-edge-function |
3 | 4 | 81/100 |
prompt-engineer |
2 | 0 | 90/100 |
neon-expert |
2 | 2 | 88/100 |
agent-overview |
2 | 1 | 89/100 |
unused-code-cleaner |
2 | 1 | 89/100 |
...and 406 more failed component(s)
📊 View Full Report for detailed error messages and all components
There was a problem hiding this comment.
All reported issues were addressed across 1 file (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QTTuf1dEt7QW83eyAPV7Lm
|
| Metric | Count |
|---|---|
| Total Components | 769 |
| ✅ Passed | 358 |
| ❌ Failed | 411 |
| 977 |
❌ Failed Components (Top 5)
| Component | Errors | Warnings | Score |
|---|---|---|---|
vercel-edge-function |
3 | 4 | 81/100 |
prompt-engineer |
2 | 0 | 90/100 |
neon-expert |
2 | 2 | 88/100 |
agent-overview |
2 | 1 | 89/100 |
unused-code-cleaner |
2 | 1 | 89/100 |
...and 406 more failed component(s)
📊 View Full Report for detailed error messages and all components
Summary
Automated Component Review Loop improvements for
cli-tool/components/agents/accessibility/accessibility-tester.md, based on research into current (2026) accessibility-testing tooling and WCAG 2.2 automation coverage.--runner axe --standard WCAG2AA— pa11y's defaulthtmlcsrunner is WCAG 2.0-era and does not reliably surface WCAG 2.1/2.2 violationsaxe-coreversion is ≥4.5 before trusting WCAG 2.2 rule coverage (older pinned/cached versions silently omit 2.2 rules even when thewcag22aatag is requested)target-sizerule; the other 8 criteria require manual verification via Track 2prefers-contrast(Windows High Contrast Mode) testingValidated against the
component-reviewerchecklist: valid YAML frontmatter, all required fields present, kebab-case name matches filename, no hardcoded secrets, no absolute paths, correct category placement, tools scoped correctly (audit-only, noWrite/Edit).Follow-up needed (not addressed in this PR — out of scope for a single-component review)
cli-tool/components/agents/development-tools/accessibility-tester.mddeclares the samename: accessibility-tester, which violates the "unique within type" naming rule in.claude/agents/component-reviewer.md. That version is lower quality (WCAG 2.1-only, no WCAG 2.2 criteria, and includes an "Implementation Phase" that contradicts the audit-only philosophy of this agent). A maintainer should rename or deprecate thedevelopment-toolscopy in a separate change.Test plan
.claude/agents/component-reviewer.mdchecklistpython scripts/generate_components_json.py(catalog regen — maintainer step after merge)Generated by the automated Component Review Loop (cycle 83, Linear CLA-125).
🤖 Generated with Claude Code
Generated by Claude Code
Summary by cubic
Switches the accessibility-tester component to axe-backed scanning and tightens WCAG 2.2 and high-contrast guidance. Previously audits could use
pa11y’s defaulthtmlcsrunner and test one contrast mode; now we requirepa11y --runner axe, per-toolaxe-core≥4.5 verification, and testing bothforced-colorsandprefers-contrast.cli-tool/components/); no new components; regeneratedocs/components.jsonafter merge; no new environment variables or secrets; aligns with Linear CLA-125.pa11y --runner axe --standard WCAG2AA; notepa11ydoes not include WCAG 2.2 without.pa11yrcrunnerConfig.axe.runOnlyincludingwcag22aa, or use@axe-core/cliwith--tags wcag2a,wcag2aa,wcag21a,wcag21aa,wcag22aa.axe-core≥4.5 for WCAG 2.2 rules; check per-tool resolution withnpm ls axe-core(do not rely on@axe-core/cli --versionfor other tools).axe-core’starget-size; verify other 2.2 criteria manually.forced-colors) andprefers-contrasttesting; add document/PDF accessibility to the checklist.Written for commit c34a572. Summary will update on new commits.