← ClaudeAtlas

gmira-a11ylisted

Use when auditing a built page for contrast, keyboard operation, semantics, and canvas fallback. Also use when text sits on a colored or image background and nobody measured it, when the focus outline was removed, when tab order jumps around the screen, when a div is being used as a button, when a canvas or WebGL layer carries text or controls, when a form field has no label, or when reduced motion only slows an animation down. Runs at audit time and not during design, because an accessibility reminder while designing produces timid underdesigned output. Ships a runnable DOM audit that computes contrast from computed styles rather than eyeballing it.
OthmanAdi/gmira · ★ 0 · Web & Frontend · score 72
Install: claude install-skill OthmanAdi/gmira
# A11y Contrast, semantics, keyboard, canvas fallback. Measured, on the built page. Load `../gmira/references/DOCTRINE.md` first. This skill owns gate G3 and the readability half of G8. ## Why this is an audit skill and not a design reminder The doctrine puts this check here on purpose. Reminded about accessibility while designing, a model talks itself into safe, timid, underdesigned output: smaller claims, flatter color, less commitment, all in the name of a rule nobody measured. So the build skills say nothing about it and this one says all of it, after the page exists, with numbers. Do not import this checklist into a build skill. Run it here. ## What automated tooling does and does not cover `@axe-core/playwright` is worth running and it finds roughly the machine-checkable half: missing labels, bad roles, duplicate ids, contrast on plain backgrounds. It does not find focus order disagreeing with visual order, a canvas carrying the page's only headline, an error message that names a problem but no recovery, or a control that is reachable but not operable. Those are below. ```bash pnpm add -D @axe-core/playwright ``` ## 1. Contrast, measured Floors, from the doctrine: **body and placeholder text 4.5:1**, **large text 3:1**, **controls, icons, and focus indicators 3:1 against adjacent colors**. Large means 24px or larger, or 18.66px at weight 700 or heavier. Two rules that get broken constantly: placeholder text is body text and needs 4.5:1, and on colored surface