Frontend a11y
Use when a ticket requires accessibility work or when delivering UI that must be usable by everyone — keyboard navigation, screen-reader labelling, focus management, colour contrast, or reduced-motion support. Invoke for "make X accessible", "fix the a11y issues", "add keyboard support", or as a companion check on any new component.From its SKILL.md
npx -y skills add tmj-90/gaffer --skill frontend-a11yAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.4 KB, 494 tokens by cl100k_base, as published. Nobody here has run it
Make the UI accessible
Bring the affected UI to WCAG 2.2 AA: operable by keyboard, understandable to assistive tech, and tolerant of user preferences — proven, not assumed.
Steps
- Read the lore first. Call
search_lore(Memory MCP) for the repo's accessibility conventions and any design-system a11y primitives already in use. - Use semantic HTML before ARIA. Reach for the native element (
button,a,label,nav,dialog) first; add ARIA roles/attributes only to fill real gaps. - Make it keyboard operable. Every interactive element must be focusable and activatable by keyboard, in a logical tab order, with a visible focus indicator.
- Label everything. Associate inputs with
labels, give icon-only controls an accessible name, and announce dynamic changes with live regions where needed. - Manage focus for overlays/dialogs/menus: move focus in on open, trap it while open, restore it on close.
- Respect preferences. Honour
prefers-reduced-motion; ensure text/background contrast meets AA (4.5:1 body, 3:1 large text). - Verify + evidence. Run the repo's automated a11y checks and exercise keyboard
flow; record the results via the
record-evidenceskill and submit for review.
Rules
- Native semantics over ARIA; never use ARIA to paper over the wrong element.
- No keyboard trap, no focus loss, no invisible focus.
- Don't remove focus outlines without a compliant replacement.
- Colour is never the only signal — pair it with text or icon.
Capture lore
This skill is one of the places durable, reusable knowledge naturally surfaces:
An accessibility pattern or boundary this repo standardises on — a focus-management rule, a semantics convention, or an a11y check that must pass. That kind of fact is lore. Capture it via the lore-capture
protocol in your brief (CLAUDE.factory.md, step 11 "Memory contribution"):
call the Memory MCP suggest_lore once at the close of your work — reusable
conventions, gotchas, decisions, and boundaries only, never per-ticket trivia.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.