Pa11y e axe para testes de acessibilidade
Automatize verificações de acessibilidade com pa11y e axe-core.
Pa11y e axe para testes de acessibilidade é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.
Ferramentas automatizadas de acessibilidade
Pa11y e axe-core são ferramentas de código aberto que automatizam testes de acessibilidade alinhados à WCAG. Ambas analisam uma página, executam regras contra o DOM e relatam violações. Detecte automaticamente a maior parte dos problemas de acessibilidade; reserve os testes manuais para o restante.
axe-core: a biblioteca
axe-core é uma biblioteca JavaScript que fornece as auditorias de acessibilidade do Chrome DevTools, Lighthouse, Jest, Cypress, Playwright e muitas outras ferramentas. É o padrão de fato para testes automatizados de acessibilidade — ampla cobertura de regras e baixa taxa de falsos positivos.
Extensão de navegador do axe
A extensão de navegador axe DevTools (Chrome, Firefox, Edge) adiciona uma guia "Acessibilidade" ao DevTools. Clique em "Analisar todas as páginas" e ela listará cada violação com os elementos afetados, a gravidade e orientações de correção. É ideal para auditorias pontuais durante o desenvolvimento.
CLI do Pa11y
Pa11y é uma CLI do Node.js: npx pa11y https://example.com audita uma URL. Exibe uma lista de problemas no terminal. Use-a para auditorias rápidas, em scripts do shell ou na integração de baixa sobrecarga à CI.
npx pa11y https://example.com
# or for multiple pages
npx pa11y-ci --sitemap https://example.com/sitemap.xmlIntegração do axe com Playwright
Combine axe-core com Playwright para testes de acessibilidade de ponta a ponta: const results = await new AxeBuilder({ page }).analyze(). Verifique que results.violations.length === 0. Isso detecta regressões antes que cheguem à produção.
import { test, expect } from "@playwright/test";
import AxeBuilder from "@axe-core/playwright";
test("home page accessibility", async ({ page }) => {
await page.goto("/");
const results = await new AxeBuilder({ page }).analyze();
expect(results.violations).toEqual([]);
});Jest-axe para componentes
jest-axe executa o axe contra componentes renderizados em testes do Jest. Renderize o componente com a React Testing Library e passe o contêiner ao axe: expect(await axe(container)).toHaveNoViolations(). Agora, cada teste de componente inclui uma verificação de acessibilidade.
Configuração de regras
Ambas as ferramentas permitem desativar ou modificar regras por projeto: desative regras que entrem em conflito com decisões intencionais de projeto e aumente o rigor para regras conhecidas como críticas. Documente cada regra desativada com um comentário explicando o motivo — um contexto de que futuros desenvolvedores precisarão.
Limitações da automação
As ferramentas automatizadas detectam cerca de 30–40% dos problemas da WCAG. O restante (ordem de foco significativa, texto alternativo legível, hierarquia semântica de títulos e uso de ARIA que reflita o comportamento real da interface) exige revisão humana. A automação é necessária, mas não suficiente, para a acessibilidade.
Testes com tecnologias assistivas reais
Faça testes com NVDA no Windows, VoiceOver no Mac e JAWS para públicos corporativos. Testes reais com leitores de tela revelam problemas que a automação não consegue detectar — anúncios confusos, regiões danificadas e ordem de foco ilógica. Uma vez por versão em cada SR principal é uma linha de base razoável.
Testes com usuários
A validação de acessibilidade mais valiosa vem de usuários com deficiência usando o produto real. Recrute-os por meio de consultorias de acessibilidade, serviços universitários para pessoas com deficiência ou plataformas de teste como UserTesting.com. O feedback do mundo real detecta problemas que nenhuma ferramenta automatizada revela.
Estratégia de integração à CI
Bloqueie PRs por regressões de acessibilidade (novas violações), mas não por violações legadas (presentes na linha de base). Assim, o padrão de qualidade continua subindo sem bloquear a entrega. Acompanhe a contagem total de violações ao longo do tempo como um indicador antecedente da saúde geral da acessibilidade.
Combinando ferramentas
Use várias ferramentas: axe para a verificação automatizada abrangente, Pa11y como uma segunda opinião e testes manuais com leitores de tela para preencher a lacuna qualitativa. A sobreposição é pequena; juntas, elas cobrem mais problemas do que qualquer ferramenta isolada consegue encontrar.
Verificação de conhecimento
Que porcentagem dos problemas de acessibilidade da WCAG pode ser detectada de forma confiável por ferramentas automatizadas como axe e Pa11y?
Resumo
axe-core fornece a maioria das auditorias de acessibilidade; a extensão de navegador é excelente para verificações pontuais, e as integrações com jest-axe e Playwright são adequadas para testes contínuos. Pa11y é uma CLI complementar. A automação detecta cerca de 30–40% dos problemas; combine-a com testes manuais usando leitores de tela (NVDA, VoiceOver) e testes com usuários com deficiência para obter cobertura completa. Bloqueie novas regressões na CI sem bloquear a entrega por causa da linha de base legada.
Perguntas Frequentes
A aula “Pa11y e axe para testes de acessibilidade” é grátis?
Sim — o texto completo de “Pa11y e axe para testes de acessibilidade” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.
O que vou aprender em “Pa11y e axe para testes de acessibilidade”?
Automatize verificações de acessibilidade com pa11y e axe-core. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar HTML Academy?
Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Pa11y e axe para testes de acessibilidade”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de HTML Academy?
Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O validador de marcação W3C
- Auditoria de HTML com Lighthouse
- Pa11y e axe para testes de acessibilidade
- Testes de instantâneos de HTML