--- 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 (
navigate(`/product/${product.id}`)}>
{product.name}
${product.price}
); } ``` | # | WCAG | Severidade | Problema | |---|------|----------|-------| | 1 | 1.1.1 | Crítica | `` sem atributo `alt` | | 2 | 2.1.1 | Crítica | `
` 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.imageAlt
{product.name}
${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 `
` | Use `