The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Development · SKILL.md

a11y-audit

a11y-audit

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.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

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

FuncionalidadeDescrição
Escaneamento WCAG 2.2 CompletoVerifica todos os critérios de sucesso Nível A e AA em seu codebase
Detecção de FrameworkDetecta automaticamente React, Next.js, Vue, Angular, Svelte ou HTML puro
Classificação de SeveridadeCategoriza cada violação como Crítica, Maior ou Menor
Geração de Código de CorreçãoProduz diffs de código antes/depois para cada problema
Verificador de Contraste de CoresValida pares de cores de primeiro e segundo plano contra as proporções AA e AAA
Relatórios de ConformidadeGera relatórios para partes interessadas com resumos de aprovação/reprovação
Integração CI/CDConfigurações de pipeline para GitHub Actions, GitLab CI, Azure DevOps
Auditoria de Navegação por TecladoDetecta gerenciamento de foco ausente e problemas de ordem de tabulação
Validação ARIAVerifica atributos ARIA incorretos, redundantes ou ausentes

Definições de Severidade

SeveridadeDefiniçãoExemploSLA
CríticaBloqueia o acesso para grupos inteiros de usuáriosTexto alternativo ausente, sem acesso por teclado à navegaçãoCorrigir antes do lançamento
MaiorBarreira significativa que degrada a experiênciaContraste de cores insuficiente, rótulos de formulário ausentesCorrigir dentro do sprint atual
MenorProblema de usabilidade que causa atritoFunções ARIA redundantes, hierarquia de cabeçalhos subótimaCorrigir nos próximos 2 sprints

Uso

Início Rápido

# 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.

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 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.

python scripts/a11y_scanner.py /path/to/project --baseline audit-baseline.json

Exemplo: Auditoria de Componente React

// ANTES: src/components/ProductCard.tsx
function ProductCard({ product }) {
  return (
    <div onClick={() => navigate(`/product/${product.id}`)}>
      <img src={product.image} />
      <div style={{ color: '#aaa', fontSize: '12px' }}>{product.name}</div>
      <span style={{ color: '#999' }}>${product.price}</span>
    </div>
  );
}
#WCAGSeveridadeProblema
11.1.1Crítica<img> sem atributo alt
22.1.1Crítica<div onClick> não acessível por teclado
31.4.3MaiorCor #aaa no branco falha no contraste (2.32:1, necessita 4.5:1)
41.4.3MaiorCor #999 no branco falha no contraste (2.85:1, necessita 4.5:1)
54.1.2MaiorElemento interativo sem role e nome acessível
// DEPOIS: src/components/ProductCard.tsx
function ProductCard({ product }) {
  return (
    <a href={`/product/${product.id}`} className="product-card"
       aria-label={`View ${product.name} - ${product.price}`}>
      <img src={product.image} alt={product.imageAlt || product.name} />
      <div style={{ color: '#595959', fontSize: '12px' }}>{product.name}</div>
      <span style={{ color: '#767676' }}>${product.price}</span>
    </a>
  );
}

Veja 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 <caminho> [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

ArmadilhaAbordagem Correta
role="button" em um <div>Use <button> nativo — inclui tratamento de teclado gratuitamente
tabindex="0" em tudoApenas elementos interativos precisam de foco; use elementos nativos
aria-label em elementos não-interativosUse aria-labelledby apontando para texto visível
display: none para ocultar de leitores de telaUse a classe .sr-only
Cor apenas para transmitir significadoAdicione ícones, rótulos de texto ou padrões junto com a cor
Placeholder como único rótuloSempre forneça um <label> visível
outline: none sem substituiçãoSempre forneça um indicador de foco visível via focus-visible
alt="" vazio em imagens informacionaisImagens informacionais precisam de texto alternativo descritivo
Pular níveis de cabeçalho (h1 -> h3)Níveis de cabeçalho devem ser sequenciais
onClick sem onKeyDownAdicione suporte a teclado ou prefira elementos nativos
Ignorar prefers-reduced-motionEnvolva animações em @media (prefers-reduced-motion: no-preference)

Skills Relacionadas

SkillRelação
senior-frontendPadrões de frontend usados em correções de a11y
code-reviewerIncluir verificações de a11y em fluxos de trabalho de revisão de código
senior-qaIntegração de testes de a11y em processos de QA
playwright-proTestes automatizados de navegador com asserções de acessibilidade
epic-designAnimações e scroll storytelling em conformidade com WCAG 2.1 AA
tdd-guidePadrões de desenvolvimento orientado a testes para casos de teste de a11y

Documentação de Referência

ReferênciaDescrição
wcag-quick-ref.mdReferência rápida dos critérios WCAG 2.2 Nível A e AA
wcag-22-new-criteria.mdNovos critérios de sucesso WCAG 2.2 (Aparência de Foco, Tamanho Meta, etc.)
aria-patterns.mdPadrões ARIA, interação por teclado e regiões ao vivo
framework-a11y-patterns.mdPadrões de correção específicos por framework (React, Vue, Angular, Svelte, HTML)
color-contrast-guide.mdDetalhes do verificador de contraste de cores, mapeamento de paleta Tailwind, classe sr-only
ci-cd-integration.mdConfigurações de GitHub Actions, GitLab CI, Azure DevOps, pre-commit hook
audit-report-template.mdModelo de relatório de auditoria pronto para partes interessadas
testing-checklist.mdLista de verificação de testes manuais (teclado, leitor de tela, visual, formulários)
examples-by-framework.mdExemplos completos de auditoria para Vue, Angular, Next.js e Svelte

Recursos

Saved skills