# Accessibility

> Use when creating or modifying any UI element visible to the user, reviewing HTML markup, adding interactive elements, or when Lighthouse Accessibility drops below 90.

- Skill: `tomevault-io/accessibility-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/accessibility-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/accessibility-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/accessibility-3

---


# Accessibility Skill

## Canonical Sources

> This skill references the following globals — read them BEFORE starting work:
> - `system/globals/accessibility.md` — WCAG rules, ARIA patterns, keyboard nav, focus styles
> - `system/globals/colors.md` — Contrast ratios, color semantics

## Domain

WCAG 2.1 AA, ARIA, Keyboard Navigation, Contrast, Screen Readers

## KPIs

| Metric | Target | Measurement |
|--------|--------|-------------|
| Lighthouse Accessibility | >90 | Lighthouse JSON → `categories.accessibility.score * 100` |
| Pa11y Errors | 0 | `npx pa11y <URL> --reporter=json` |
| Images without Alt | 0 | `npm run check:kpis` |

## Non-Negotiable

These rules always apply — even under time pressure, even for "it's just an internal tool":

- **No element without alt text.** Not even "because it's a template" — templates set the standard for thousands of projects built on top of them.
- **No `div` instead of `button` for clickable elements.** Not even "because it's easier." A `div` is not focusable, not keyboard-operable, and is ignored by screen readers.
- **No commit without heading hierarchy.** "It's just a landing page" is not an excuse — screen readers navigate via headings.
- **Dark mode is mandatory from day 1.** "We'll add it later" doesn't work — CSS variables must be correct from the start. Retrofitting is double the work.
- **Keyboard navigation is not a nice-to-have.** "Users only use the mouse anyway" is wrong — 25% of users rely on keyboard, assistive technology, or both.

## Before Applying

Read `LEARNINGS.md` in this directory to avoid known anti-patterns.

---
> Source: [holger1411/astrodeck](https://github.com/holger1411/astrodeck) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-29 -->

