# Accessibility
> Audita y mejora la accesibilidad web siguiendo las pautas WCAG 2.2. Úsalo ante 'improve accessibility', 'a11y audit', 'WCAG compliance', 'screen reader support', 'keyboard navigation' o 'make accessible'.
Fuente: https://skillsagentes.com/skills/addyosmani/web-quality-skills/accessibility
Markdown: https://skillsagentes.com/skills/addyosmani/web-quality-skills/accessibility.md
Repositorio: https://github.com/addyosmani/web-quality-skills
Autor: addyosmani
Licencia: MIT
Actualizado: hace 4 meses
Coste de contexto: 53 tok instalada, 3.3k tok al activarse, 7.1k tok con todos los archivos del bundle
Bundle: 3 archivos, 28 KB
Permisos que pide: ninguno declarado
## Instalación
Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina.
```bash
# Claude Code
npx -y skills add addyosmani/web-quality-skills --skill accessibility --agent claude-code
# Cursor
npx -y skills add addyosmani/web-quality-skills --skill accessibility --agent cursor
# Codex
npx -y skills add addyosmani/web-quality-skills --skill accessibility --agent codex
# Gemini CLI
npx -y skills add addyosmani/web-quality-skills --skill accessibility --agent gemini
# Windsurf
npx -y skills add addyosmani/web-quality-skills --skill accessibility --agent windsurf
# Cline
npx -y skills add addyosmani/web-quality-skills --skill accessibility --agent cline
```
## Qué hace
- Audita y corrige accesibilidad web según WCAG 2.2 (Perceivable, Operable, Understandable, Robust)
- Da patrones de código para alt text, contraste, foco visible, tamaños de destino, formularios y ARIA
- Proporciona checklist de pruebas automatizadas (Lighthouse, axe-core) y manuales (lector de pantalla, zoom, teclado)
- Clasifica problemas comunes por impacto: crítico, serio, moderado
## Cuándo usarla
- Se pide 'improve accessibility'
- Se pide 'a11y audit'
- Se pide 'WCAG compliance'
- Se pide 'screen reader support', 'keyboard navigation' o 'make accessible'
## Qué la activa
- "Haz una auditoría de accesibilidad de esta página"
- "Ayúdame a cumplir con WCAG 2.2 AA"
- "Revisa el soporte de teclado y lector de pantalla de este componente"
- "Mejora la accesibilidad de este formulario"
## Antes de instalar
- Requiere npx lighthouse o axe-core (npm install @axe-core/cli -g) para las auditorías automatizadas.
- Necesita en el PATH: npm, npx
- makes network requests
## Archivos
- SKILL.md — 13 KB
- references/A11Y-PATTERNS.md — 6 KB
- references/WCAG.md — 9 KB
## SKILL.md
Reproducido tal cual desde addyosmani/web-quality-skills bajo MIT. Esta sección es el documento original y está en inglés.
# Accessibility (a11y)
Comprehensive accessibility guidelines based on WCAG 2.2 and Lighthouse accessibility audits. Goal: make content usable by everyone, including people with disabilities.
## Evidence-led audit workflow
When a rendered page is available:
1. Run a live Lighthouse Accessibility audit when that capability is available; with Chrome DevTools MCP, use `lighthouse_audit`. Use mobile navigation mode for a general public page or snapshot mode when reloading would lose authenticated or user-created state.
2. Use failed audit nodes to localize the relevant component or template instead of searching the whole repository for generic patterns.
3. Inspect a rendered accessibility-tree snapshot for names, roles, states, landmarks, and heading structure; with Chrome DevTools MCP, use `take_snapshot`. Exercise the affected flow with the keyboard.
4. Fix the source, then re-run the same audit and manual interaction.
If the live tools are unavailable, use Lighthouse CLI or axe for automated coverage and complete the same manual checks. Automated tools detect only a subset of accessibility barriers: a score of 100 is not WCAG conformance, and a low score does not replace issue-level evidence.
## WCAG Principles: POUR
| Principle | Description |
|-----------|-------------|
| **P**erceivable | Content can be perceived through different senses |
| **O**perable | Interface can be operated by all users |
| **U**nderstandable | Content and interface are understandable |
| **R**obust | Content works with assistive technologies |
## Conformance levels
| Level | Requirement | Target |
|-------|-------------|--------|
| **A** | Minimum accessibility | Must pass |
| **AA** | Standard compliance | Should pass (legal requirement in many jurisdictions) |
| **AAA** | Enhanced accessibility | Nice to have |
---
## Perceivable
### Text alternatives (1.1)
**Images require alt text:**
```html
```
**Icon buttons need accessible names:**
```html
```
**Visually hidden class:**
```css
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
```
### Color contrast (1.4.3, 1.4.6)
| Text Size | AA minimum | AAA enhanced |
|-----------|------------|--------------|
| Normal text (< 18px / < 14px bold) | 4.5:1 | 7:1 |
| Large text (≥ 18px / ≥ 14px bold) | 3:1 | 4.5:1 |
| UI components & graphics | 3:1 | 3:1 |
```css
/* ❌ Low contrast (2.5:1) */
.low-contrast {
color: #999;
background: #fff;
}
/* ✅ Sufficient contrast (7:1) */
.high-contrast {
color: #333;
background: #fff;
}
/* ✅ Focus states need contrast too (3:1 against background, WCAG 1.4.11) */
:focus-visible {
outline: 2px solid currentColor;
outline-offset: 2px;
}
```
**Don't rely on color alone:**
```html
Please enter a valid email address
```
### Media alternatives (1.2)
```html
Transcript
Full transcript text...
```
---
## Operable
### Keyboard accessible (2.1)
**All functionality must be keyboard accessible.** Prefer native interactive elements — `