Registro con las APIs de Node axe-DevTools
Uso del paquete @axe-devtools/logger para registrar resultados de accesibilidad
Existen formas prácticamente ilimitadas de aprovechar los resultados de un análisis de axe DevTools
Todos los escaneos de accesibilidad controlados por axe-core se pueden configurar para que se devuelvan como un objeto JSON. Este formato significa que es fácil de consumir para los principiantes en accesibilidad web, contiene la profundidad de información que necesitan los expertos experimentados en la materia y permite la generación automática de informes y pruebas personalizadas incluso fuera de un formato de prueba basado en aserciones estándar.
axe DevTools Logger
Si no desea generar informes en uno de los formatos ofrecidos, pero desea guardar los resultados en un archivo, Deque ofrece un componente para manejar esto por usted llamado axe DevTools Logger. Con este módulo, puede escribir los resultados de sus pruebas en un archivo simultáneamente mientras ejecuta sus pruebas.
Para instalarlo, se requiere la misma configuración de información de autenticación que cualquier otro componente de axe DevTools basado en nodeJS. Consulta la guía de instalación del método que utilizaste originalmente para instalar axe DevTools 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 axe DevTools Logger
El registrador se importa de la siguiente manera:
const AxeDevToolsLogger = require('@axe-devtools/logger').default;
Además, puedes importar el paquete utilizando módulos ES6:
import AxeDevToolsLogger from '@axe-devtools/logger';
Una vez importado, puedes instanciarlo de esta manera
const logger = new AxeDevToolsLogger('Report Name', '/path/to/a/directory');
Después de ejecutar un análisis y generar un objeto de resultados, puedes registrar el resultado en un archivo con este comando
logger.logTestResult('\<test-name>', results-object);
El archivo registrado aparecerá en el directorio que especificó cuando creó una instancia del logger 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 alguna metainformación útil. Esto incluye el nombre de la prueba, la dirección web de la página probada, la fecha y hora en que se ejecutó la prueba, el conjunto de reglas de axe-core utilizado y más.
Hallazgos
El comienzo de los resultados está delimitado por el encabezado “hallazgos”. Hay cuatro tipos de resultados, cada uno con su propia matriz. Estos tipos de resultados son inaplicable, incompleto, superado y violación. Además, hay algunos datos específicos de la prueba ubicados inmediatamente antes de la matriz de violaciones.
Inaplicable
Inaplicable significa que no había contenido de página relevante para esa prueba en particular, como pruebas relacionadas con formularios en una página sin formularios.
Incompleto
Incompletos son pruebas que se ejecutaron, pero los resultados requieren una revisión más profunda para determinar en qué categoría deberían caer finalmente. Un caso incompleto común son las verificaciones de contraste de color en elementos con fondos de color variables donde no siempre queda claro si se cumple con el contraste suficiente. Las cuestiones de esta categoría no deberían tratarse automáticamente como violaciones, ya que pueden serlo o no. Para los usuarios con más conocimientos de accesibilidad, un análisis más profundo de estos resultados puede ayudar a encontrar violaciones adicionales que no se pueden probar automáticamente.
Aprobados
Este grupo de resultados enumera las reglas que se verificaron no encontraron ninguna violación de accesibilidad relacionada. Asociado a cada regla aprobada habrá un arreglo de elementos de página que se verificaron con la regla y se aprobaron.
Violaciones
El arreglo de violaciones contiene todas las violaciones de accesibilidad encontradas en el escaneo. Gracias a la política de cero falsos positivos de Deque, se garantiza que cualquier resultado que encuentre aquí es genuino. Cada violación contiene más información sobre qué es, dónde se encuentra en la página, sugerencias sobre cómo solucionarla y más. Consulte la referencia de campo a continuación para obtener más información.
Referencia de campo: aprobaciones e infracciones
A continuación se enumeran los campos contenidos en los objetos passes y violations :
- descripción — Cadena de texto que describe lo que hace la regla
- ayuda — 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 la Universidad Deque.
- id — Identificador único de la regla; consulte la lista de reglas.
- impacto — Qué tan grave es la violación. Puede ser leve, moderado, grave o crítico si la prueba falló o nulo si la verificación pasó.
- etiquetas — Array de etiquetas a las que se asigna esta regla. Estas etiquetas se pueden utilizar en la estructura de opciones para seleccionar qué reglas se ejecutan (consulte los parámetros attest.a11yCheck).
- nodos — Array de todos los elementos que la regla probó
- html — Fragmento de HTML del elemento
- impacto — Qué tan grave es la violación. Puede ser leve, moderado, grave o crítico si la prueba falló o nulo si la verificación pasó.
- target — Array de selectores en la que cada elemento corresponde a un nivel de iframe o marco. Si hay un iframe o marco, debe haber dos entradas en el objetivo. Si hay tres niveles de iframe, debería haber cuatro entradas en el objetivo.
- cualquiera — Array de comprobaciones que se realizaron, donde al menos una debe haber pasado. Cada entrada del Array contiene:
- id — Identificador único para esta verificación. Los identificadores de verificación pueden ser los mismos que los identificadores de regla
- impacto — Qué tan seria es esta comprobación en particular. Puede ser menor, moderado, grave o crítico. Cada verificación que forma parte de una regla puede tener diferentes impactos. El mayor impacto de todas las verificaciones que fallan se informa para la regla
- mensaje — Descripción de por qué se aprobó o falló esta comprobación
- datos — Información adicional específica del tipo de comprobación que es opcional. Por ejemplo, una verificación de contraste de color incluiría el color de primer plano, el color de fondo, la relación de contraste, etc.
- relatedNodes: matriz opcional de información sobre otros nodos relacionados con esta prueba. Por ejemplo, una violación de prueba de identificación duplicada enumeraría los otros selectores que tenían la misma identificación duplicada. Cada entrada de la matriz contiene la siguiente información:
- target — Array de selectores para el nodo relacionado
- html — Código fuente HTML del nodo relacionado
- all — Array de comprobaciones que se realizaron, donde todas deben haber pasado. Cada entrada en el array contiene la misma información que el array any
- ninguno — Arreglo de comprobaciones que se realizaron, en las que todas deben haber fallado. 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 sus propias pruebas personalizadas. Más allá de las aserciones de violación de accesibilidad estándar, puede 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, es posible probar cualquier dato incluido en el objeto de resultados.
Próximos pasos
Deque hace que sea fácil compartir y digerir los resultados de sus escaneos con nuestro sistema de informes. Se puede configurar para producir informes HTML, JUnit XML o CSV y, una vez configurado, devuelve informes automáticamente. Consulte la guía de informes para obtener información sobre cómo configurar y utilizar los informes.