HTML_CodeSniffer expliqué : le moteur d'analyse complémentaire
HTML_CodeSniffer (HTMLCS) est un moteur de test d'accessibilité open source, développé à l'origine par Squiz Labs, antérieur à axe-core, et dont l'approche de couverture des règles diffère quelque peu - incluant des vérifications de critères WCAG de niveau AAA et certains motifs de balisage de présentation que le jeu de règles d'axe-core ne couvre pas.
Pourquoi exécuter deux moteurs plutôt qu'un seul
Aucun moteur automatisé ne détecte à lui seul tous les problèmes WCAG automatisables : les auteurs de règles de chaque outil ont fait des choix de conception différents sur ce qu'il faut vérifier et avec quelle rigueur. Exécuter HTMLCS aux côtés d'axe-core, en second passage, fait apparaître des résultats réellement différents, au prix d'un certain recouvrement qui demande un dédoublonnage : un même problème signalé par les deux moteurs doit apparaître une seule fois pour la personne qui lit le rapport, et non deux.
Les trois niveaux de gravité de HTMLCS
Contrairement au modèle en quatre catégories d'axe-core, HTMLCS classe chaque résultat en erreur, avertissement ou avis :
- Les erreurs sont traitées comme des non-conformités déterministes, à l'image de la catégorie
violationsd'axe-core - Les avertissements sont également traités comme des résultats méritant attention, avec une certitude un peu moindre
- Les avis sont des invitations à une revue manuelle, pour des critères qui ne peuvent réellement pas être entièrement automatisés (information transmise par la seule couleur, contraintes de temps, comportement du focus) ; ils sont présentés comme « revue manuelle nécessaire » plutôt que comptés comme des non-conformités confirmées
Un exemple concret de couverture propre à HTMLCS
La vérification de la technique H49 de HTMLCS signale le balisage de présentation obsolète - <center>, <font>, l'attribut align - un motif que le jeu de règles d'axe-core ne cible pas spécifiquement. Voir Balisage de présentation obsolète pour la liste exacte des balises concernées et leur correction ; c'est une bonne illustration du fait que des auteurs de règles différents détectent des problèmes réellement différents.
Comment le recouvrement est traité
Lorsque les deux moteurs signaleraient le même problème sur le même élément (un attribut alt manquant, par exemple, que chacun détecte indépendamment), une chaîne d'analyse bien conçue dédoublonne par empreinte règle-et-élément, afin que le problème apparaisse une seule fois dans le rapport plutôt que sous la forme de deux résultats redondants - en traitant les deux moteurs comme des couches complémentaires, et non comme deux rapports indépendants et sans rapport entre eux.
Ce qu'il faut en retenir
Les moteurs utilisent des règles et des méthodes de détection différentes. AllyProof conserve l'indication du moteur d'origine afin que chaque résultat puisse être examiné au regard des indications pertinentes. Combiner les moteurs élargit les éléments disponibles, mais ne supprime pas la nécessité d'une évaluation manuelle.
Questions fréquentes
- Qu'est-ce que HTML_CodeSniffer ?
- Un moteur de test d'accessibilité open source de Squiz Labs, antérieur à axe-core, qui vérifie un ensemble de règles un peu différent et plus large, incluant des critères WCAG de niveau AAA et des motifs de balisage de présentation.
- Pourquoi exécuter HTML_CodeSniffer en plus d'axe-core ?
- Aucun moteur ne détecte à lui seul tous les problèmes automatisables. HTMLCS fait remonter des résultats réellement différents, absents du jeu de règles d'axe-core ; l'exécuter en second passage (avec dédoublonnage) améliore la couverture.
- Quels sont les niveaux de gravité de HTML_CodeSniffer ?
- Trois : les erreurs (non-conformités déterministes), les avertissements (résultats méritant attention, avec moins de certitude) et les avis (invitations à une revue manuelle pour des critères qui ne peuvent pas être entièrement automatisés).
Articles liés
Vous souhaitez connaître le score de votre propre site ?
Lancer un test d'accessibilité gratuit