---
name: "a11y-audit"
description: "Skill de auditoria de acessibilidade para escanear, corrigir e verificar a conformidade WCAG 2.2 Nível A e AA em codebases React, Next.js, Vue, Angular, Svelte e HTML puro. Use ao auditar acessibilidade, corrigir violações de a11y, verificar contraste de cores, gerar relatórios de conformidade ou integrar verificações de acessibilidade em pipelines CI/CD."
agents:
- claude-code
---
# Auditoria de Acessibilidade
Skill de Auditoria e Remediação de Acessibilidade WCAG 2.2
## Descrição
A skill a11y-audit fornece um pipeline completo de auditoria de acessibilidade para aplicações web modernas. Implementa um fluxo de trabalho em três fases — Escanear, Corrigir, Verificar — que identifica violações WCAG 2.2 Nível A e AA, gera código de correção preciso por framework e produz relatórios de conformidade prontos para partes interessadas.
Para cada violação encontrada, fornece o código de correção preciso antes/depois, adaptado ao seu framework (React, Next.js, Vue, Angular, Svelte ou HTML puro).
**O que esta skill faz:**
1. **Escaneia** seu codebase em busca de todas as violações WCAG 2.2 Nível A e AA, categorizadas por severidade (Crítica, Maior, Menor)
2. **Corrige** cada violação com padrões de código antes/depois específicos para o framework
3. **Verifica** que as correções resolvem as violações originais e não introduzem regressões
4. **Reporta** os resultados em formato estruturado adequado para desenvolvedores, PMs e partes interessadas em conformidade
5. **Integra** em pipelines CI/CD para prevenir regressões de acessibilidade
## Funcionalidades
| Funcionalidade | Descrição |
|---------|-------------|
| **Escaneamento WCAG 2.2 Completo** | Verifica todos os critérios de sucesso Nível A e AA em seu codebase |
| **Detecção de Framework** | Detecta automaticamente React, Next.js, Vue, Angular, Svelte ou HTML puro |
| **Classificação de Severidade** | Categoriza cada violação como Crítica, Maior ou Menor |
| **Geração de Código de Correção** | Produz diffs de código antes/depois para cada problema |
| **Verificador de Contraste de Cores** | Valida pares de cores de primeiro e segundo plano contra as proporções AA e AAA |
| **Relatórios de Conformidade** | Gera relatórios para partes interessadas com resumos de aprovação/reprovação |
| **Integração CI/CD** | Configurações de pipeline para GitHub Actions, GitLab CI, Azure DevOps |
| **Auditoria de Navegação por Teclado** | Detecta gerenciamento de foco ausente e problemas de ordem de tabulação |
| **Validação ARIA** | Verifica atributos ARIA incorretos, redundantes ou ausentes |
### Definições de Severidade
| Severidade | Definição | Exemplo | SLA |
|----------|-----------|---------|-----|
| **Crítica** | Bloqueia o acesso para grupos inteiros de usuários | Texto alternativo ausente, sem acesso por teclado à navegação | Corrigir antes do lançamento |
| **Maior** | Barreira significativa que degrada a experiência | Contraste de cores insuficiente, rótulos de formulário ausentes | Corrigir dentro do sprint atual |
| **Menor** | Problema de usabilidade que causa atrito | Funções ARIA redundantes, hierarquia de cabeçalhos subótima | Corrigir nos próximos 2 sprints |
## Uso
### Início Rápido
```bash
# Escanear projeto inteiro
python scripts/a11y_scanner.py /path/to/project
# Escanear com saída JSON para ferramentas
python scripts/a11y_scanner.py /path/to/project --json
# Verificar contraste de cores para valores específicos
python scripts/contrast_checker.py --fg "#777777" --bg "#ffffff"
# Verificar contraste em um arquivo CSS/Tailwind
python scripts/contrast_checker.py --file /path/to/styles.css
```
### Slash Command
```
/a11y-audit # Auditar o projeto atual
/a11y-audit --scope src/ # Auditar diretório específico
/a11y-audit --fix # Auditar e aplicar correções automaticamente
/a11y-audit --report # Gerar relatório para partes interessadas
/a11y-audit --ci # Saída de resultados compatível com CI
```
### Fluxo de Trabalho em Três Fases
**Fase 1: Escanear** — Percorrer a árvore de código-fonte, detectar framework, aplicar conjunto de regras.
```bash
python scripts/a11y_scanner.py /path/to/project --format table
```
**Fase 2: Corrigir** — Aplicar correções específicas para o framework em cada violação.
> Veja [references/framework-a11y-patterns.md](references/framework-a11y-patterns.md) para o catálogo completo de padrões de correção.
**Fase 3: Verificar** — Executar novamente o scanner para confirmar as correções e verificar regressões.
```bash
python scripts/a11y_scanner.py /path/to/project --baseline audit-baseline.json
```
## Exemplo: Auditoria de Componente React
```tsx
// ANTES: src/components/ProductCard.tsx
function ProductCard({ product }) {
return (
` não acessível por teclado |
| 3 | 1.4.3 | Maior | Cor `#aaa` no branco falha no contraste (2.32:1, necessita 4.5:1) |
| 4 | 1.4.3 | Maior | Cor `#999` no branco falha no contraste (2.85:1, necessita 4.5:1) |
| 5 | 4.1.2 | Maior | Elemento interativo sem role e nome acessível |
```tsx
// DEPOIS: src/components/ProductCard.tsx
function ProductCard({ product }) {
return (
${product.price}
);
}
```
> Veja [references/examples-by-framework.md](references/examples-by-framework.md) para exemplos em Vue, Angular, Next.js e Svelte.
## Referência de Ferramentas
### a11y_scanner.py
```
Uso: python scripts/a11y_scanner.py [opções]
Opções:
--json Saída dos resultados como JSON
--format {table,csv} Formato de saída (padrão: table)
--severity {critical,major,minor} Filtrar por severidade mínima
--framework {react,vue,angular,svelte,html,auto} Forçar framework (padrão: auto)
--baseline FILE Comparar com resultados de escaneamento anteriores
--report Gerar relatório para partes interessadas
--output FILE Escrever resultados em arquivo
--quiet Suprimir saída, apenas código de saída
--ci Modo CI: saída não-zero em problemas críticos
```
### contrast_checker.py
```
Uso: python scripts/contrast_checker.py [opções]
Opções:
--fg COLOR Cor de primeiro plano (hex)
--bg COLOR Cor de segundo plano (hex)
--file FILE Escanear arquivo CSS para pares de cores
--tailwind DIR Escanear diretório para classes de cores Tailwind
--json Saída dos resultados como JSON
--suggest Sugerir alternativas acessíveis para falhas
--level {aa,aaa} Nível de conformidade alvo (padrão: aa)
```
## Armadilhas Comuns
| Armadilha | Abordagem Correta |
|---------|------------------|
| `role="button"` em um `