Skip to content

improve: enhance accessibility-tester agent based on automated review - #814

Merged
davila7 merged 5 commits into
mainfrom
review/accessibility-tester-2026-08-19
Aug 19, 2026
Merged

improve: enhance accessibility-tester agent based on automated review#814
davila7 merged 5 commits into
mainfrom
review/accessibility-tester-2026-08-19

Conversation

@davila7

@davila7 davila7 commented Aug 19, 2026

Copy link
Copy Markdown
Owner

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.

  • Fixed pa11y CLI guidance to explicitly use --runner axe --standard WCAG2AA — pa11y's default htmlcs runner is WCAG 2.0-era and does not reliably surface WCAG 2.1/2.2 violations
  • Added a note to verify the resolved axe-core version is ≥4.5 before trusting WCAG 2.2 rule coverage (older pinned/cached versions silently omit 2.2 rules even when the wcag22aa tag is requested)
  • Annotated the WCAG 2.2 new-criteria table to clarify that only 2.5.8 (Target Size Minimum) is automatable today, via axe-core's target-size rule; the other 8 criteria require manual verification via Track 2
  • Added a fully worked example finding after the Finding Format template, to anchor severity/remediation phrasing
  • Added a manual checklist item for document/PDF accessibility (PDF tagging, reading order, alt text — Section 508/EAA scope covers downloadable documents, not just rendered pages)
  • Added a manual checklist item for forced-colors / prefers-contrast (Windows High Contrast Mode) testing

Validated against the component-reviewer checklist: 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, no Write/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.md declares the same name: 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 the development-tools copy in a separate change.

Test plan

  • Reviewed frontmatter and content against .claude/agents/component-reviewer.md checklist
  • python 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 default htmlcs runner and test one contrast mode; now we require pa11y --runner axe, per-tool axe-core ≥4.5 verification, and testing both forced-colors and prefers-contrast.

  • Area: components (cli-tool/components/); no new components; regenerate docs/components.json after merge; no new environment variables or secrets; aligns with Linear CLA-125.
  • Tooling: use pa11y --runner axe --standard WCAG2AA; note pa11y does not include WCAG 2.2 without .pa11yrc runnerConfig.axe.runOnly including wcag22aa, or use @axe-core/cli with --tags wcag2a,wcag2aa,wcag21a,wcag21aa,wcag22aa.
  • Versions: require axe-core ≥4.5 for WCAG 2.2 rules; check per-tool resolution with npm ls axe-core (do not rely on @axe-core/cli --version for other tools).
  • Coverage: only WCAG 2.2 2.5.8 (Target Size Minimum) is automatable via axe-core’s target-size; verify other 2.2 criteria manually.
  • Manual checks: require both Windows High Contrast (forced-colors) and prefers-contrast testing; add document/PDF accessibility to the checklist.

Written for commit c34a572. Summary will update on new commits.

Review in cubic

- 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>
@github-actions github-actions Bot added the review-pending Component PR awaiting maintainer review label Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

👋 Thanks for contributing, @davila7!

This PR touches cli-tool/components/** and has been marked review-pending.

What happens next

  1. 🤖 Automated security audit runs and posts results on this PR.
  2. 👀 Maintainer review — a human reviewer validates the component with the component-reviewer agent (format, naming, security, clarity).
  3. Merge — once approved, your PR is merged to main.
  4. 📦 Catalog regeneration — the component catalog is rebuilt automatically.
  5. 🚀 Live on aitmpl.com — your component appears on the website after deploy.

While you wait

  • Check the Security Audit comment below for any issues to fix.
  • Make sure your component follows the contribution guide.

This is an automated message. No action is required from you right now — a maintainer will review soon.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Security Audit Report

Status: ❌ FAILED

Metric Count
Total Components 769
✅ Passed 358
❌ Failed 411
⚠️ Warnings 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-apps

greptile-apps Bot commented Aug 19, 2026

Copy link
Copy Markdown

Greptile Summary

The 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.

  • Configures pa11y guidance to use the axe runner and explains how to request WCAG 2.2 tags.
  • Adds axe-core version verification and a worked accessibility-finding example.
  • Adds document accessibility and explicit testing of both forced-colors and prefers-contrast modes.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

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

Comment thread cli-tool/components/agents/accessibility/accessibility-tester.md Outdated
…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
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Security Audit Report

Status: ❌ FAILED

Metric Count
Total Components 769
✅ Passed 358
❌ Failed 411
⚠️ Warnings 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

Comment thread cli-tool/components/agents/accessibility/accessibility-tester.md Outdated
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
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Security Audit Report

Status: ❌ FAILED

Metric Count
Total Components 769
✅ Passed 358
❌ Failed 411
⚠️ Warnings 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

@cubic-dev-ai cubic-dev-ai Bot 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.

Review completed against the latest diff

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread cli-tool/components/agents/accessibility/accessibility-tester.md Outdated
Comment thread cli-tool/components/agents/accessibility/accessibility-tester.md Outdated
… 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
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Security Audit Report

Status: ❌ FAILED

Metric Count
Total Components 769
✅ Passed 358
❌ Failed 411
⚠️ Warnings 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

@cubic-dev-ai cubic-dev-ai Bot 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.

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

Comment thread cli-tool/components/agents/accessibility/accessibility-tester.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Security Audit Report

Status: ❌ FAILED

Metric Count
Total Components 769
✅ Passed 358
❌ Failed 411
⚠️ Warnings 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

@davila7
davila7 merged commit a8b8011 into main Aug 19, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-pending Component PR awaiting maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants