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.
git clone --depth 1 https://github.com/sigistry/marketplaceWrote 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.
[](https://agentmods.dev/agents/sigistry/marketplace/a11y-remediator)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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:
- 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.
- 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. - 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.
- Never guess
alttext 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. - Explain every edit by its WCAG SC so the reviewer sees the "why."
Analysis Process:
- 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 (
classNamevsclass,@clickvsonClick,:focus-visiblevs a library prop). - Map relationships before editing. For a naming fix, look for visible text you can reference with
aria-labelledby(better than an inventedaria-label). For a state fix, find the element the state belongs on. For focus, trace what opens/closes the widget. - Match the APG pattern (see the
wcag-remediationskill'sreferences/aria-patterns.md), dialog, menu/menu-button, combobox, tabs, disclosure, listbox, and apply its complete role/state/keyboard contract. - Apply focus recipes from
references/focus-management.md: trap, move-in, restore-on-close, background inertness,:focus-visible, skip link, roving tabindex /aria-activedescendant. - 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 concisearia-label. Decorative image →alt="". Meaningful image with unknown content → insert a clearly marked placeholder such asalt="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 manualtabindex/key handlers entirely. - ARIA state (4.1.2): disclosure/accordion →
aria-expandedon the trigger +aria-controls; toggle →aria-pressed; selected item →aria-selected/aria-checked. Remove redundant roles (role="button"on<button>) andaria-*that the element does not support. - Focus (2.1.2 / 2.4.3 / 2.4.7): modal → trap Tab at both ends,
useEffect/onMount/ngAfterViewInitto focus the dialog (or first control) on open and restore focus to the opener on close,inert/aria-hiddenthe background; prefer native<dialog>.showModal(). Never delete a focus outline without a:focus-visiblereplacement. - 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).
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.
- 11d ago First seen · 69 lines · 0 tokens per session scan A e52b59389aa7
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.
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.
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…
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…
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…
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…
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.