Pa11y dashboard, revisa automáticamente la accesibilidad de cualquier web

61603347-0bce1000-abf2-11e9-87b2-a53f91d315bb.jpg
Solucionex
20
Mayo 22

Pa11y dashboard es una herramienta autoalojada hecha con node y que gestiona los datos en una base de datos mongodb que permite hacer chequeos sobre accesibilidad sobre webs.

Instalación con docker

Pa11y dashboard no cuenta con instalación oficial de docker, aunque hay un issue en el que muestra cómo podría configurarse para ejecutarlo con docker. Existen varias alternativas en github / docker hub, pero a día de la escritura de este post, en todas las que se han probado ha sido necesario modificar algo, por lo que se usará uno de los repositorios más nuevos y con versiones más modernas: https://github.com/andreabisello/pa11y-dashboard-docker-container

Pasos a seguir

  1. Clonar el repositorio: git clone https://github.com/andreabisello/pa11y-dashboard-docker-container
  2. Entrar en la carpeta clonada: cd pa11y-dashboard-docker-container
  3. Modificar el archivo "docker-compose.yml". Es necesario eliminar el elemento "links:" (líneas 10 y 11)
  4. Revisar el archivo "production.json por si se quiere configurar algo. No hace falta cambiar nada, si acaso la periodicidad del cron para adaptarlo al gusto
  5. Arrancar los contenedores: docker-compose up -d
  6. Visitar la página en localhost:4000

Modo de uso

Inicialmente, aparece el dashboard vacío, para añadir una nueva web, pulsar en "Add new URL".

 

Aparecerá el formulario de añadir página. Los valores mínimos a rellenar son "Nombre" y "URL" (el estándar viene por defecto en AA) y pulsar el botón "Add URL".

 

Una vez añadida la página, aparecerá la ficha de la página, pero vacía dado que todavía no se ha hecho nigún chequeo. Para ejecutarlo, hay que pulsar el enlace "Run Pa11y".

 

Una vez realizado el chequeo, empezarán a aparecer los resultados, dividos en "Errores", "Advertencias" y "Avisos", por orden de gravedad. Para cada error, si se pulsa en "Show details", mostrará los elementos de la página donde se está produciendo el error.

 

Pa11y dashboard tiene muchas opciones a la hora de revisar una web:

  • Tiempo de espera en cada carga
  • Acciones a realizar aparte de la propia cara de la página (por ejemplo, pulsar un botón, navegar a otra página, etc.)
  • Usuario y contraseña, por si la página web no es accesible al público
  • Cabeceras HTTP a enviar con la petición
  • Reglas a ignorar, por ejemplo para evitar falsos positivos