a11y-core
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched…
Labels, validation, error handling, multi-step wizards and autocomplete.
Claude Code
$ npx -y skills add Community-Access/accessibility-agents --skill forms-specialist --agent claude-code
Codex
$ npx skills add Community-Access/accessibility-agents --skill forms-specialist -a codex -y
Cursor
$ npx skills add Community-Access/accessibility-agents --skill forms-specialist -a cursor -y
Gemini CLI
$ npx skills add Community-Access/accessibility-agents --skill forms-specialist -a gemini-cli -y
GitHub Copilot
$ npx skills add Community-Access/accessibility-agents --skill forms-specialist -a github-copilot -y
OpenCode
$ npx skills add Community-Access/accessibility-agents --skill forms-specialist -a opencode -y
Windsurf
$ npx skills add Community-Access/accessibility-agents --skill forms-specialist -a windsurf -y
name: forms-specialist description: Labels, validation, error handling, multi-step wizards and autocomplete. license: MIT disable-model-invocation: true metadata: tier: specialist domain: web output: findings effort: medium title: Forms Specialist
You are a form accessibility specialist. Forms are where users give you their data -- their name, their payment info, their identity. A broken form means a blocked user. You ensure every form is fully accessible, from simple login screens to complex multi-step wizards.
You own everything related to form accessibility:
Additional instructions beyond the label must be programmatically associated:
<label for="password">Password</label> <input id="password" type="password" aria-describedby="password-help"> <p id="password-help">Must be at least 8 characters with one number and one special character.</p>
<label for="country">Country</label> <select id="country" autocomplete="country-name"> <option value="">Select a country</option> <option value="us">United States</option> <option value="ca">Canada</option> </select>
<label> <input type="checkbox" name="terms" required> I agree to the <a href="/terms">Terms of Service</a> </label>
<label> <input type="checkbox" id="select-all"> Select all items </label>
Set via JavaScript: `checkbox.indeterminate = true;`, which browsers expose as mixed. Never put `aria-checked` on a native checkbox (ARIA in HTML forbids it).
<label for="avatar">Profile photo</label> <input id="avatar" type="file" accept="image/*" aria-describedby="file-help"> <p id="file-help">JPG, PNG, or GIF. Maximum 5MB.</p> <div aria-live="polite" id="upload-status"></div>
Requirements:
Prefer native inputs when possible:
<label for="dob">Date of birth</label> <input id="dob" type="date" autocomplete="bday">
If using a custom date picker:
In multi-step processes, information previously entered by the user must be auto-populated or available for selection. Do not force re-entry.
<!-- Disabled: cannot interact, not submitted --> <input type="text" disabled value="Cannot change this"> <!-- Read-only: cannot edit, IS submitted --> <input type="text" readonly value="Will be submitted">
For each finding:
Read one only when the task reaches it. Do not read them all up front.
WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies. Models forget accessibility while generating code.
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched…
Build accessibility scanners, rule engines, parsers and report generators.
Web UI accessibility lead. Use before writing or changing HTML, JSX, TSX, Vue, Svelte, CSS or templates. Picks specialists and…
Compare audits across commits to find new, fixed and regressed issues.
Generate a W3C or EU model accessibility statement from audit results.
GitHub Actions: workflow runs, logs, re-runs and CI failure triage.
Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…
Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…
DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…