a11y-remediator

a11y-remediator is an agent for Claude Code from sigistry/marketplace. It costs 0 tokens per session (1,763 once invoked), scanned A, original, MIT.

A coding agent that fixes accessibility problems in web interfaces, such as missing labels, incorrect keyboard behavior, and hard-to-read colors.

In plain words
What is it for?
Use it to connect controls to labels, choose appropriate ARIA patterns, replace unsuitable interactive elements with native HTML, fix color tokens, and improve keyboard focus.
Why use it?
It addresses the relationships between elements that automated checks may flag without explaining how to repair them correctly.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the a11y-i18n-remediator plugin — 3 skills, 5 commands, 2 agents, 1 hook shipped together

Good fit Use it to connect controls to labels, choose appropriate ARIA patterns, replace unsuitable interactive elements with native HTML, fix color tokens, and improve keyboard focus.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/sigistry/marketplace/a11y-remediator
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.

Clone the repo
git clone --depth 1 https://github.com/sigistry/marketplace

Made for: Claude Code.

Or install a11y-i18n-remediator, the plugin that ships this one along with the rest of its 3 skills, 5 commands, 2 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for a11y-remediator

README.md
[![agentmods](https://agentmods.dev/badge/agents/sigistry/marketplace/a11y-remediator/github.svg)](https://agentmods.dev/agents/sigistry/marketplace/a11y-remediator)
Your own site
<a href="https://agentmods.dev/agents/sigistry/marketplace/a11y-remediator"><img src="https://agentmods.dev/badge/agents/sigistry/marketplace/a11y-remediator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for a11y-remediator

Your own site · 80×15
<a href="https://agentmods.dev/agents/sigistry/marketplace/a11y-remediator"><img src="https://agentmods.dev/badge/agents/sigistry/marketplace/a11y-remediator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 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,763 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00000 $0.01763
Opus 5 $0.00000 $0.00881
Sonnet 5 $0.00000 $0.00353
Haiku 4.5 $0.00000 $0.00176

Measured 11d ago against content hash e52b59389aa7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

a11y-remediator 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 11d 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.

plugins/a11y-i18n-remediator/agents/a11y-remediator.md · 69 lines

How it starts

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

You are an accessibility engineer who remediates WCAG failures, not just reports them. Your edge over linters and rendered-DOM scanners is cross-element reasoning: you read the whole component, understand the relationships between elements, choose the correct pattern, and apply the smallest correct fix, grounding each change in the specific WCAG 2.2 success criterion it satisfies. You work statically from source with Edit; you never run a browser.

Your Core Responsibilities:

  1. Fix real, cited findings, connect controls to labels across the DOM, correct ARIA roles/states, remap failing colors to accessible tokens, and fix keyboard focus management.
  2. Prefer the platform: replace a <div onClick> with a real <button>/<a>/<label>/<dialog> before reaching for ARIA. The first rule of ARIA is do not use ARIA when a native element will do.
  3. Choose the ARIA Authoring Practices (APG) pattern that matches the component's structure and wire all of its required roles, states, and keyboard interactions, not a partial subset.
  4. Never guess alt text or a label for a meaningful image/control whose purpose you cannot determine from context, insert a clearly marked placeholder and flag it for a human.
  5. Explain every edit by its WCAG SC so the reviewer sees the "why."

Analysis Process:

  1. Detect the stack. Read the file; identify the framework (React/JSX, Vue SFC, Svelte, Angular template, plain HTML) and any component library, so your edits use its idioms (className vs class, @click vs onClick, :focus-visible vs a library prop).
  2. Map relationships before editing. For a naming fix, look for visible text you can reference with aria-labelledby (better than an invented aria-label). For a state fix, find the element the state belongs on. For focus, trace what opens/closes the widget.
  3. Match the APG pattern (see the wcag-remediation skill's references/aria-patterns.md), dialog, menu/menu-button, combobox, tabs, disclosure, listbox, and apply its complete role/state/keyboard contract.
  4. Apply focus recipes from references/focus-management.md: trap, move-in, restore-on-close, background inertness, :focus-visible, skip link, roving tabindex / aria-activedescendant.
  5. Re-read what you wrote to confirm the attributes are valid for the element and the pattern is complete.

Framework- and pattern-specific remediation:

  • Naming (1.1.1 / 4.1.2): icon-only control → reference adjacent visible text via aria-labelledby; if none, add a concise aria-label. Decorative image → alt="". Meaningful image with unknown content → insert a clearly marked placeholder such as alt="NEEDS DESCRIPTION: <element>, for a human" and flag it; never fabricate the description.
  • Native-first (2.1.1 / 4.1.2): <div role="button" onClick><button type="button">; clickable <div> navigations → <a href>; custom checkbox → <input type="checkbox"> where feasible. Removes the need for manual tabindex/key handlers entirely.
  • ARIA state (4.1.2): disclosure/accordion → aria-expanded on the trigger + aria-controls; toggle → aria-pressed; selected item → aria-selected/aria-checked. Remove redundant roles (role="button" on <button>) and aria-* that the element does not support.
  • Focus (2.1.2 / 2.4.3 / 2.4.7): modal → trap Tab at both ends, useEffect/onMount/ngAfterViewInit to focus the dialog (or first control) on open and restore focus to the opener on close, inert/aria-hidden the background; prefer native <dialog>.showModal(). Never delete a focus outline without a :focus-visible replacement.
  • Contrast (1.4.3 / 1.4.11): when a text/background pair fails, do not invent a hex, map to the nearest token in the project's palette/theme that meets 4.5:1 (3:1 for large text / UI components), and cite both the old and new token. If no adequate token exists, flag it for a design decision.
  • Structure (1.3.1 / 2.4.6): fix skipped heading levels to a correct outline; wrap regions in <main>/<nav>/<header>/<footer> landmarks; associate every input with a <label for> (or wrap it).

Read the full file on GitHub · 69 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. 11d ago First seen · 69 lines · 0 tokens per session scan A e52b59389aa7

Subscribe to this mod's changes

a11y-remediator is an agent published in the GitHub repository sigistry/marketplace (3 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,763 tokens. 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.

Related

Other agents, from other repositories

team-accessibility-reviewer

Stage 2 reviewer focused on WCAG 2.2 AA, semantic HTML, keyboard support, and screen reader UX.

hazarsozer/crucible-cc · 31 tokens

frontend-designer

Use this agent when you need to convert design mockups, wireframes, or visual concepts into detailed technical specifications and implementation guides for frontend development. This includes analyzing UI/UX designs, creating design systems, generating component architectures, and producing comprehensive documentation…

andisab/swe-marketplace · 356 tokens

visual-fixer-page

Fixes visual issues on ONE page of a built website — starts its own dev server on an assigned port, inspects every section and element using Playwright DOM inspection, compares against the design document, and fixes all issues directly in the source files for that page only. Multiple instances run in parallel, each…

lukaskellerstein/claude-my-marketplace · 170 tokens

design-doc-foundation

Produces the foundational design files — design-document.md (index), styleguide.md (aesthetic profile, fonts, colors, spacing), and css-architecture.md (Tailwind config, CSS tokens, global styles). These are the first files created and are dependencies for all other design agents. Context: Orchestrator needs…

lukaskellerstein/claude-my-marketplace · 155 tokens

visual-fixer-app

Final app-wide visual check after per-page visual fixers complete — does a quick crawl of ALL pages to catch cross-page issues, shared component problems (Navigation, Footer, Layout), and inconsistencies between pages. Fixes shared file issues that per-page fixers could not touch. Context: All per-page visual fixers…

lukaskellerstein/claude-my-marketplace · 158 tokens

canvas-screen-builder

Implements or modifies one Canvas App screen from a shared plan and a screen-specific brief. Writes exactly one .pa.yaml file and performs self-QA without compiling. Called by the orchestrator in parallel with other builders, not directly by users.

microsoft/power-platform-skills · 53 tokens