Generar informes
Convierte los resultados de accesibilidad JSON en informes HTML, JUnit XML o CSV usando el comando del reportero de axe.
Cuando utilizas las API de Axe DevTools o el CLI de axe para probar la accesibilidad, los resultados se guardan como archivos JSON. Usa el comando axe reporter para convertir esos archivos JSON en informes en formato HTML, JUnit XML, CSV o formato universal. También puedes filtrar los resultados por tipo antes de generar un informe.
- El Comando
axe reporter - Especifica el directorio de salida para los informes generados. En su lugar, puedes especificar el destino como el segundo argumento posicional.
- Entender cómo el CLI de Axe DevTools nombra y organiza los archivos de resultados JSON es útil al trabajar con el
El Comando axe reporter
axe reporter <results-dir> [dest-dir] [options]El <results-dir> es el directorio que contiene los archivos de resultados JSON. El [dest-dir] opcional es donde se escriben los informes; también puedes usar --dest para especificarlo.
Si estás usando el CLI de axe para generar resultados JSON con axe o axe spec, puedes usar directamente la bandera --format en esos comandos. Consulta y y ..
Generar informes en múltiples formatos a la vez:
axe reporter ./axe-results/ ./axe-reports/csv/ --format=csvOpciones
axe reporter ./axe-results/ ./axe-reports/ --format=csv,html,junitEspecifica el directorio de salida para los informes generados. En su lugar, puedes especificar el destino como el segundo argumento posicional.
-d, --dest <path>
Formato(s) de salida:
-f, --format <type(s)>
Formato(s) de salida: html, junit (XML), csv o universal. Para generar múltiples formatos en una sola ejecución, proporciónalos separados por comas, espacios, puntos y comas o signos más. Se ignoran los espacios alrededor de los separadores.
El valor universal produce un archivo JSON en el Formato Universal de Axe, que es un esquema estándar compartido entre los productos Axe. Usa las opciones complementarias a continuación para controlar qué metadatos se registran en la salida.
--universal-ruleset <id>
Especifica el ID del conjunto de reglas para registrar en los metadatos de la salida en formato universal. Por defecto, es wcag2.1. Consulta tabla de conjuntos de reglas para ver los valores válidos.
--universal-best-practices
Registra bestPracticesEnabled=true en los metadatos de la salida en formato universal.
Informes HTML
Un informe HTML se renderiza cuando lo abres. Antes de escribir el archivo, la CLI también intenta pre-renderizarlo en un marcado estático, de modo que su contenido ya esté allí y se muestre tan pronto como lo abras, en lugar de un momento después. Este paso no está relacionado con el navegador que usaste para probar, por lo que opciones como --chrome-path y --chrome-options no se aplican aquí.
Si instalaste la CLI como un paquete de Node.js, el pre-renderizado funciona automáticamente y no se necesita un navegador. Si estás usando el ejecutable independiente, la CLI en su lugar busca un Chrome, Edge o Brave instalado para usar en este paso. Para señalarle un navegador específico, establece la variable de entorno AXE_DEVTOOLS_REPORTER_BROWSER_PATH.
Si la CLI no encuentra un navegador (cuando se utiliza el ejecutable independiente), imprime una advertencia y aún así escribe el informe. El informe todavía se muestra y funciona normalmente cuando lo abres, solo que sin esa optimización de visualización instantánea.
En una máquina de construcción lenta o con un informe grande, generar un informe HTML puede fallar con un error como browser render timed out after 30000ms. Para permitir más tiempo, establece AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS en un número de milisegundos. El valor predeterminado es 30000 (30 segundos). Escribe el valor como dígitos simples; cualquier otro valor se ignora y se utiliza el predeterminado.
export AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS=120000Para las otras variables de entorno que controlan cómo se generan los informes HTML, consulta Pre-renderización de informes HTML.
--filter <type(s)>
Filtra qué tipos de resultados incluir en el informe. Acepta uno o más de: passes, violations, incomplete, inapplicable. Separa múltiples valores con comas y sin espacios. Requiere --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>
Cuando un directorio de resultados contiene resultados de múltiples navegadores, usa esta opción para generar un informe a partir de los resultados de un solo navegador. El nombre debe coincidir con el navegador usado al ejecutar las pruebas, por ejemplo, chrome o firefox.
Entender cómo el CLI de Axe DevTools nombra y organiza los archivos de resultados JSON es útil al trabajar con el
Entender cómo el CLI de Axe DevTools nombra y organiza los archivos de resultados JSON es útil cuando se trabaja con el comando axe reporter o se procesan resultados programáticamente.
Para cada proyecto en un archivo de especificación, los resultados se guardan en un subdirectorio nombrado según el
Para cada proyecto en un archivo de especificaciones, los resultados se guardan en un subdirectorio nombrado después del id del proyecto, dentro del directorio de salida que especifiques:
<output-dir>/<project-id>/Este subdirectorio se crea automáticamente. Si ya existe de una ejecución anterior, se archiva renombrándolo a <project-id>-<timestamp> antes de crear un nuevo directorio.
Nombrado de archivos
Cada archivo de resultados JSON se nombra usando el id del proyecto y un estado de la página derivado de la id de la página y el title opcional de la acción analyze:
<project-id>-<page-id>[-<analyze-title>].jsonLa id de la página proviene del campo id en pageList. Si id no se establece explícitamente en una página, se deriva automáticamente de la name de la página eliminando los espacios.
El segmento analyze-title se añade solo cuando se proporciona un título en la acción analyze, o cuando una página tiene múltiples llamadas analyze (en cuyo caso cada resultado tiene un sufijo único para evitar colisiones).
Ejemplo
Dado un proyecto con id: "deque" y una página con name: "Deque search" (sin id explícito), el ID de página auto-derivado es Dequesearch. Una sola llamada analyze sin título produce:
<output-dir>/deque/deque-Dequesearch.jsonCon analyze the page with title "initial state":
<output-dir>/deque/deque-Dequesearch-initial state.json