Registro con las APIs de Node de axe-DevTools
Uso del paquete @axe-devtools/logger para registrar resultados de accesibilidad
Hay prácticamente infinitas formas de aprovechar los resultados de un escaneo de Axe DevTools
Todos los escaneos de accesibilidad impulsados por axe-core pueden configurarse para devolver sus resultados como un objeto JSON. Este formato significa que es fácil de consumir para los recién llegados a la accesibilidad web, contiene la profundidad de información que los expertos en la materia necesitan, y permite la generación automática de reportes y pruebas personalizadas incluso fuera de un formato de prueba estándar basado en aserciones.
Registrador de Axe DevTools
Si no desea generar informes en uno de los formatos ofrecidos, pero sí quiere guardar sus resultados en un archivo, Deque ofrece un componente para manejar esto llamado el Registrador de Axe DevTools. Con este módulo, puede escribir los resultados de sus pruebas en un archivo en línea con la ejecución de sus pruebas.
Para instalarlo, requiere la misma configuración de información de autenticación que cualquier otro componente de Axe DevTools basado en nodeJS. Consulte la guía de instalación para el método que utilizó al instalar Axe DevTools originalmente para obtener más información.
Para instalar el registrador, ejecute el comando npm install @axe-devtools/logger para npm o yarn add @axe-devtools/logger para yarn.
Uso del Registrador de Axe DevTools
El registrador se importa de la siguiente manera:
const { AxeDevToolsLogger } = require('@axe-devtools/logger');Además, puede importar el paquete utilizando módulos ES6:
import { AxeDevToolsLogger } from '@axe-devtools/logger';Una vez importado, puede instanciarlo de esta manera
const logger = new AxeDevToolsLogger('Report Name', '/path/to/a/directory');Después de ejecutar un escaneo y generar un objeto de resultados, puede registrar el resultado en un archivo con este comando
logger.logTestResult('\<test-name>', results-object);El archivo registrado aparecerá en el directorio que especificó al instanciar el registrador con un nombre de archivo de Test-Reports-<test-name>.json.
Resumen de Resultados
Las siguientes secciones describen los objetos contenidos en el archivo JSON de resultados.
Meta
El objeto de resultados comienza con información meta útil. Esto incluye el nombre de la prueba, la dirección web de la página probada, la fecha y hora en que se realizó la prueba, el conjunto de reglas de axe-core utilizado y más.
Resultados
El comienzo de los resultados está marcado por el encabezado "resultados". Hay cuatro tipos de resultados, cada uno con su propio array. Estos tipos de resultados son inaplicables, incompletos, pasados y violaciones. Además, hay algunos datos específicos de la prueba ubicados inmediatamente antes del array de violaciones.
Inaplicables
Inaplicables significa que no hubo contenido de página relevante para esa prueba en particular, como pruebas relacionadas con formularios en una página sin formularios.
Incompletos
Incompletos son pruebas que se ejecutaron, pero cuyos resultados requieren una revisión adicional para determinar en qué categoría deben ubicarse finalmente. Una ocurrencia común de incompletos son las comprobaciones de contraste de color en elementos con fondos de color variable donde no siempre está claro si se alcanza el contraste suficiente. Los problemas en esta categoría no deben tratarse automáticamente como violaciones, ya que pueden o no serlo. Para los usuarios con más conocimientos sobre accesibilidad, un examen más profundo de estos resultados puede ayudar a encontrar violaciones adicionales que no pueden ser probadas automáticamente.
Pasados
Este grupo de resultados enumera las reglas que fueron verificadas y no se encontraron violaciones de accesibilidad relacionadas. Asociado con cada regla pasada habrá un array de elementos de la página que se comprobaron con la regla y pasaron.
Violaciones
El array de violaciones contiene todas las violaciones de accesibilidad encontradas en el escaneo. Gracias a la política de cero falsos positivos de Deque, cualquier resultado encontrado aquí está garantizado que sea genuino. Cada violación contiene más información sobre qué es la violación, dónde se encuentra en la página, sugerencias sobre cómo solucionarla y más. Consulte la referencia de campos a continuación para más información.
Referencias de Campo - Pasados y Violaciones
Los campos contenidos en los objetos pasados y violaciones se enumeran a continuación:
- description — Cadena de texto que describe lo que hace la regla
- help — Texto de ayuda que describe la prueba realizada
- helpUrl — URL que proporciona más información sobre los detalles de la violación. Enlaces a una página en el sitio de Deque University.
- id — Identificador único para la regla; consulte la lista de reglas.
- impact — Cuán grave es la violación. Puede ser una de las siguientes: menor, moderada, seria o crítica si la prueba falló o nulo si la comprobación pasó
- tags — Array de etiquetas que se asigna a esta regla. Estas etiquetas pueden usarse en la estructura de opciones para seleccionar qué reglas se ejecutan (ver parámetros de attest.a11yCheck).
- nodes — Array de todos los elementos que la regla probó
- html — Fragmento de HTML del elemento
- impact — Cuán grave es la violación. Puede ser una de las siguientes: menor, moderada, seria o crítica si la prueba falló o nulo si la comprobación pasó
- target — Array de selectores que tiene cada elemento correspondiente a un nivel de iframe o frame. Si hay un iframe o frame, debe haber dos entradas en target. Si hay tres niveles de iframe, debe haber cuatro entradas en target.
- any — Array de comprobaciones que se realizaron donde al menos una debe haber pasado. Cada entrada en el array contiene:
- id — Identificador único para esta comprobación. Los ids de las comprobaciones pueden ser los mismos que los ids de las reglas
- impact — Cuán grave es esta comprobación en particular. Puede ser una de las siguientes: menor, moderada, seria o crítica. Cada comprobación que forma parte de una regla puede tener impactos diferentes. El impacto más alto de todas las comprobaciones que fallan se informa para la regla
- message — Descripción de por qué esta comprobación pasó o falló
- data — Información adicional que es específica para el tipo de comprobación, la cual es opcional. Por ejemplo, una comprobación de contraste de color incluiría el color de primer plano, el color de fondo, la relación de contraste, etc.
- relatedNodes — Array opcional de información sobre otros nodos que están relacionados con esta comprobación. Por ejemplo, una violación de comprobación de id duplicado enumeraría los otros selectores que tenían este mismo id duplicado. Cada entrada en el array contiene la siguiente información:
- target — Array de selectores para el nodo relacionado
- html — Fuente HTML del nodo relacionado
- all — Array de comprobaciones realizadas donde todas deben haber pasado. Cada entrada en el array contiene la misma información que el array any
- none — Array de comprobaciones realizadas donde ninguna debe haber pasado. Cada entrada en el array contiene la misma información que el array any
Además, el objeto de resultados JSON facilita la escritura de tus propias pruebas personalizadas. Más allá de las afirmaciones estándar de violaciones de accesibilidad, puedes dividir el objeto de resultados por violaciones, su gravedad, su impacto, su conjunto de reglas asociado, o cualquiera de los parámetros en el objeto de resultados. Por lo tanto, cualquier dato presentado en el objeto de resultados puede ser probado.
Próximos pasos
Deque facilita la compartición y digestión de los resultados de tus escaneos con nuestro reportero. Es configurable para producir informes en HTML, XML de JUnit o CSV y, una vez configurado, proporciona informes automáticamente. Consulta la guía del reportero para obtener información sobre cómo configurar y usar el reportero.
También puedes subir tus resultados a Axe Developer Hub. Consulta Usar la CLI para enviar resultados de accesibilidad a Axe Developer Hub.
