a11y-core
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched on its own.
Labels, validation, error handling, multi-step wizards and autocomplete.
$ npx -y skills add Community-Access/accessibility-agents --skill forms-specialist --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/forms-specialistContext preview
The summary Claude sees to decide when to auto-load this skill.
Labels, validation, error handling, multi-step wizards and autocomplete.
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" aria-checked="mixed" id="select-all"> Select all items </label>
Set via JavaScript: `checkbox.indeterminate = true;`
<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.
Return only JSON matching `skills/a11y-
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 on its own.
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 merges their findings.
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.