Gerar Relatórios
Converta resultados de acessibilidade JSON em relatórios HTML, JUnit XML ou CSV usando o comando axe reporter.
Quando você usa as APIs do Axe DevTools ou o CLI axe para testar acessibilidade, os resultados são salvos como arquivos JSON. Use o comando axe reporter para converter esses arquivos JSON em relatórios nos formatos HTML, JUnit XML, CSV ou universal. Você também pode filtrar os resultados por tipo antes de gerar um relatório.
O Comando axe reporter
axe reporter <results-dir> [dest-dir] [options]O <results-dir> é o diretório que contém os arquivos de resultados JSON. O opcional [dest-dir] é onde os relatórios são escritos; você também pode usar --dest para especificá-lo.
Se você estiver usando o CLI axe para gerar resultados JSON com axe ou axe spec, você pode usar diretamente o sinalizador --format nesses comandos. Veja Analisar Páginas e Analisar Páginas Usando um Arquivo de Especificação.
Gerar um relatório CSV a partir de resultados JSON:
axe reporter ./axe-results/ ./axe-reports/csv/ --format=csvGerar relatórios em múltiplos formatos de uma só vez:
axe reporter ./axe-results/ ./axe-reports/ --format=csv,html,junitOpções
-d, --dest <path>
Especifica o diretório de saída para os relatórios gerados. Você também pode especificar o destino como o segundo argumento posicional.
-f, --format <type(s)>
Formato(s) de saída: html, junit (XML), csv ou universal. Para gerar vários formatos em uma única execução, forneça-os separados por vírgulas, espaços, pontos e vírgulas ou sinais de mais. O espaçamento ao redor dos separadores é ignorado.
O valor universal produz um arquivo JSON no Formato Universal Axe, que é um esquema padrão compartilhado entre os produtos Axe. Use as opções a seguir para controlar quais metadados são registrados na saída.
--universal-ruleset <id>
Especifica o ID do conjunto de regras a ser registrado nos metadados da saída no formato universal. O padrão é wcag2.1. Veja o tabela de conjuntos de regras para valores válidos.
--universal-best-practices
Registra bestPracticesEnabled=true nos metadados da saída no formato universal.
Relatórios HTML
Um relatório HTML se renderiza automaticamente quando você o abre. Antes de escrever o arquivo, o CLI também tenta pré-renderizá-lo em uma marcação estática, de modo que seu conteúdo já esteja lá e seja exibido assim que você o abrir, em vez de um momento depois. Esta etapa é independente do navegador que você usou para testar, então opções como --chrome-path e --chrome-options não se aplicam aqui.
Se você instalou o CLI como um pacote Node.js, a pré-renderização funciona automaticamente e nenhum navegador é necessário. Se você estiver usando o executável autônomo, o CLI em vez disso procura um Chrome, Edge ou Brave instalado para usar nesta etapa. Para apontá-lo para um navegador específico, configure a variável de ambiente AXE_DEVTOOLS_REPORTER_BROWSER_PATH.
Se o CLI não encontrar um navegador (ao usar o executável autônomo), ele imprime um aviso e ainda assim escreve o relatório. O relatório ainda é exibido e funciona normalmente quando você o abre, apenas sem aquela otimização de exibição instantânea.
Em uma máquina de compilação lenta ou com um relatório grande, gerar um relatório HTML pode falhar com um erro como browser render timed out after 30000ms. Para permitir mais tempo, configure AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS para um número de milissegundos. O padrão é 30000 (30 segundos). Escreva o valor como dígitos simples; qualquer outro valor é ignorado e o padrão é usado.
export AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS=120000Para as outras variáveis de ambiente que controlam como os relatórios HTML são gerados, veja Pré-renderização de relatórios HTML.
--filter <type(s)>
Filtra quais tipos de resultados incluir no relatório. Aceita um ou mais de: passes, violations, incomplete, inapplicable. Separe múltiplos valores com vírgulas e sem espaços. Requer --format csv.
# Include only violations and incomplete results
axe reporter ./axe-results/ --format=csv --filter violations,incomplete
# Include only passed checks
axe reporter ./axe-results/ --format=csv --filter passes-b, --browser <name>
Quando um diretório de resultados contém resultados de vários navegadores, use esta opção para gerar um relatório apenas dos resultados de um browser. O nome deve corresponder ao navegador usado ao executar os testes, por exemplo, chrome ou firefox.
Resultados JSON no Disco
Entender como o CLI do Axe DevTools nomeia e organiza arquivos de resultados JSON é útil ao trabalhar com o comando axe reporter ou ao processar resultados programaticamente.
Estrutura de Diretório
Para cada projeto em um arquivo de definição, os resultados são salvos em um subdiretório nomeado pelo id do projeto, dentro do diretório de saída que você especificar:
<output-dir>/<project-id>/Este subdiretório é criado automaticamente. Se ele já existir de uma execução anterior, é arquivado renomeando-o para <project-id>-<timestamp> antes da criação de um novo diretório.
Nomeação de Arquivos
Cada arquivo de resultado JSON é nomeado usando o id do projeto e um estado de página derivado da id da página e o opcional title da ação analyze:
<project-id>-<page-id>[-<analyze-title>].jsonA id da página vem do campo id no pageList. Se id não estiver explicitamente definido em uma página, ele é derivado automaticamente da name da página removendo espaços.
O segmento analyze-title é acrescentado apenas quando um título é fornecido na ação analyze, ou quando uma página tem múltiplas chamadas analyze (neste caso, cada resultado recebe um sufixo único para evitar colisões).
Exemplo
Dado um projeto com id: "deque" e uma página com name: "Deque search" (sem id explícito), o ID da página derivado automaticamente é Dequesearch. Uma única chamada analyze sem título produz:
<output-dir>/deque/deque-Dequesearch.jsonCom analyze the page with title "initial state":
<output-dir>/deque/deque-Dequesearch-initial state.json