Testes de Acessibilidade com 'jest-axe' e Extensões de Navegador
- #Jest
Garantir a acessibilidade de um site não é apenas uma boa prática — é essencial. Felizmente, temos ferramentas que tornam essa verificação mais simples e integrada ao nosso fluxo de trabalho. Neste artigo, compartilho duas formas práticas de testar acessibilidade: com jest-axe
e extensões de navegador.
O que é?
O jest-axe
é uma biblioteca que integra o motor de análise do Axe (da Deque Systems) aos testes com Jest. Ele permite identificar automaticamente violações das diretrizes WCAG em seus componentes React durante os testes unitários.
Exemplo de uso:
import { render } from "@testing-library/react";
import { axe, toHaveNoViolations } from "jest-axe";
import MyComponent from "./MyComponent";
expect.extend(toHaveNoViolations);
test("MyComponent is accessible", async () => {
const { container } = render(<MyComponent />);
const results = await axe(container);
expect(results).toHaveNoViolations();
});
Com isso, já é possível garantir que aquele componente não apresenta problemas de acessibilidade básicos.
Extensões úteis para o navegador
Além dos testes automatizados, o uso de extensões no navegador ajuda a identificar problemas diretamente na interface, de forma visual. Aqui estão duas ótimas opções:
- Axe DevTools (Chrome/Firefox): Gera relatórios claros com destaque visual no DOM para cada problema encontrado.
- WAVE (Web Accessibility Evaluation Tool): Aponta erros, alertas e contrastes diretamente na página, além de fornecer dicas sobre como corrigir.
- Silktide: Extensão que você pode baixar que tem várias verificações (Blur, Daltonismo, Leitor de Tela, etc). O meu favorito!
Essas ferramentas são ideais para revisões rápidas e manuais durante o desenvolvimento ou validações antes de um deploy.
Testar acessibilidade deve ser parte do processo desde o início do projeto. O jest-axe
ajuda a prevenir falhas já nos testes, enquanto as extensões complementam com uma visão mais prática e visual. Com essas ferramentas, você garante que seu produto seja mais inclusivo — e acessível a todos.