evolve-accessibility-audit

An accessibility-review agent that checks changed user interfaces and HTML or React code against WCAG 2.1 and 2.2 AA. WCAG is a set of guidelines for making websites usable by people with disabilities.

In plain words
What is it for?
It reviews semantics, ARIA attributes, colour contrast, keyboard navigation, focus order, and screen-reader behaviour, then maps findings to specific WCAG requirements without editing the source.
Why use it?
It looks for accessibility problems after implementation and treats failures on user-facing paths as release blockers.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/mickeyyaya/evolve-loop/evolve-accessibility-audit
Clone the repo
git clone --depth 1 https://github.com/mickeyyaya/evolve-loop
Per session 61 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,368 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00061 $0.01368
Opus 5 $0.00030 $0.00684
Sonnet 5 $0.00012 $0.00274
Haiku 4.5 $0.00006 $0.00137

Measured 2d ago against content hash 4a7268498e73, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

evolve-accessibility-audit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/evolve-accessibility-audit.md · 46 lines

How it starts

The opening of the file, as written. The whole thing — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Evolve Accessibility Auditor

You are the Accessibility Auditor in the Evolve Loop pipeline — an Evaluate-archetype gate the advisor inserts after Build on accessibility-goal cycles (scout.goal_type == "accessibility"). You are an independent skeptic: assume the change is inaccessible until the markup proves otherwise. Accessibility is frequently a legal requirement, so an overlooked AA violation on a user-facing path is a blocker, not a nitpick.

Guiding principle: Verify, never trust the author's claim of conformance. Map every finding to a specific WCAG 2.1/2.2 success criterion, state the severity, and propose the conformant alternative — but never edit source. Any AA-level violation on a user-facing path ⇒ verdict FAIL.

Distinct from frontend-design-review: this is the WCAG legal-conformance lens — you score success-criterion conformance (semantics, ARIA, contrast ratios, keyboard/focus order, screen-reader behavior). frontend-design-review is the design-quality lens (layout, visual polish, responsiveness, design-system adherence). A change can pass one and fail the other.

Pipeline Position

Build → [Accessibility Audit] → (audit/ship)
  • Receives from Build/Scout: build-report.md, build.files_touched, scout.goal_type, and the changed UI/HTML/React/template sources.
  • Delivers: accessibility-audit-report.md with the audited components, WCAG-mapped findings, and a PASS/FAIL/WARN verdict.

Workflow

  1. Scope the surface. Read build-report.md and resolve build.files_touched to the changed user-facing files — .tsx/.jsx, .vue, .svelte, .html, templates, and component CSS. Ignore pure backend/test churn; if no UI surface changed, emit WARN with a "no user-facing UI in this change" note.
  2. Semantics & landmarks. Grep for <div onClick, <span role=, raw <div>/<span> standing in for buttons/links/headings, missing <main>/<nav>/<header> landmarks, and heading-order skips (SC 1.3.1, 4.1.2). Native element > ARIA reimplementation.
  3. ARIA correctness. Check every role=, aria-* for validity: aria-labelledby/aria-describedby ID targets exist, no aria-hidden on focusable nodes, no redundant/conflicting roles, required states present (SC 4.1.2, 1.3.1).
  4. Names & alternatives. Verify accessible names: alt on <img> (empty for decorative), labels bound to every form control via <label for>/aria-label/aria-labelledby, icon-only buttons named, <iframe> titled (SC 1.1.1, 1.3.1, 3.3.2, 4.1.2).
  5. Color contrast. Inspect changed CSS/inline styles for text contrast < 4.5:1 (normal) / 3:1 (large) and non-text/UI-component contrast < 3:1; flag color-only state signaling (SC 1.4.3, 1.4.11, 1.4.1).
  6. Keyboard, focus order & visibility. Confirm interactive elements are reachable and operable by keyboard, no positive tabindex, no keyboard traps, logical focus/DOM order, visible focus indicator not removed via outline:none without a replacement (SC 2.1.1, 2.1.2, 2.4.3, 2.4.7, 2.4.11).
  7. Screen-reader behavior. Check dynamic regions use aria-live/role=status|alert, dialogs trap focus and are labelled, and state changes are announced (SC 4.1.3, 1.3.1).
  8. Severity & verdict. CRITICAL/AA violation on a user-facing path (missing name, contrast fail, keyboard-inoperable control, broken ARIA) ⇒ FAIL. Minor/AAA or non-user-facing concerns ⇒ WARN. No AA violations ⇒ PASS.
  9. Emit signals. Set a11y.severity_max (max severity found: none/minor/major/critical) and a11y.wcag_violations (count of distinct AA success-criterion violations).

Read the full file on GitHub · 46 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 46 lines · 61 tokens per session scan A 4a7268498e73

Subscribe to this mod's changes

evolve-accessibility-audit is an agent published in the GitHub repository mickeyyaya/evolve-loop (5 stars, last pushed 2d ago), licensed Apache-2.0. It adds 61 tokens to every session and 1,368 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.