Dashboard des tests automatisés d'accessibilité

Le , par Olivier Keul - Accessibilité

Comment lancer des tests automatisés d’accessibilité sur plusieurs pages et sur différents sites afin d’identifier les corrections à mettre en place et suivre l’évolution des non conformités ? 

On pourrait le faire manuellement, page par page, puis site par site, noter les résultats dans un tableur, afficher de beaux diagrammes et réitérer l’opération chaque semaine mais c’est quand même très rébarbatif. 

Parce qu’être feignant, c’est aussi une qualité, nous avons créé un outil pour faire ça à votre place et nous vous le partageons gracieusement. Plaisir d’offrir, joie de recevoir.

À quoi sert cet outil ?

Comme indiqué en introduction, il permet de lancer des tests automatisés d’accessibilité sur plusieurs URLs et sur plusieurs sites. 

Il y a principalement deux objectifs selon le profil :  

  • profil « métier » :  cela permet de suivre une tendance sur les non conformités générées par les tests automatisés. Est-ce que cela diminue ? augmente ? stagne ?
  • profil « expert / référent accessibilité » : cela permet de consulter le détail de chaque erreur et de créer des tickets en conséquence sur l’outil interne (JIRA, Redmine ou autre)

Le chiffre dépend des éditeurs et du sens du vent mais on indique généralement (à prendre avec des pincettes) que les tests automatisés permettent de couvrir « 30 % » de l’ensemble des tests d’accessibilité. 

Cela permet donc de suivre plus facilement ce type de test et de mettre en place des actions correctives. Bien entendu, il ne s’agit pas de se focaliser uniquement sur les tests automatisés, il convient de s’inscrire dans une démarche d’amélioration continue de l’accessibilité numérique dictée par l’impact utilisateur.

Quelles sont les limites ? 

Dans la version actuelle, cet outil ne permet pas de tester les pages qui sont derrière une authentification ou un accès restreint. 

Il ne permet pas non plus d’obtenir un taux de conformité (puisque par nature l’outil ne traite que les tests automatisés). 

Il convient de rappeler qu’il est tout à fait possible, sur une page, de n’avoir aucune erreur concernant les tests automatisés et pourtant d’avoir tout de même des problèmes d’accessibilité (Building the most inaccessible site possible with a perfect Lighthouse score). 

Pour finir, cet outil ne dispense pas de réaliser un audit de conformité (selon le référentiel de votre choix) et de faire appel à une expertise humaine, qu’elle soit interne ou externe à votre entité.

Comment cela fonctionne ?

Il s’agit d’un projet en Node.js qui utilise le framework Express.js et le moteur axe-core pour les tests automatisés. Les étapes d’installation sont indiquées dans le fichier readme du dépot GitLab : https://gitlab.com/temesis/dashboard-a11y/

Il suffit dans le fichier urls.json d’indiquer la liste des URLs par site ainsi que la langue (le dashboard est actuellement disponible en français et en anglais), exemple : 

{
   "lang":"fr",
   "sites":[
      {
         "siteName":"Service-Public.fr",
         "siteUrls":[
            "https://www.service-public.fr/",
            "https://www.service-public.fr/P10017"
         ]
      },
      {
         "siteName":"impots.gouv.fr",
         "siteUrls":[
            "https://www.impots.gouv.fr/accueil",
            "https://www.impots.gouv.fr/contacts"
         ]
      }
   ]
}

Une fois que cette étape est réalisée, il ne reste qu’à lancer les tests puis afficher le dashboard qui sera visible en local sur http://localhost:3000/.

Pour aller plus loin, l’idée est ensuite de déployer cet outil sur un espace d’hébergement, par exemple alwaysdata, et d’ajouter simplement une tâche planifiée pour lancer les tests au rythme qui vous convient, par exemple une fois par semaine. Cela rendra votre dashboard totalement autonome.

Si vous avez des questions, des idées d’amélioration, si vous voulez contribuer au projet, c’est avec grand plaisir ! Toute aide est la bienvenue.