Ce que fait un validateur HTML (et pourquoi c'est important)

  • VersionDude
  • Standards
  • 5 min de lecture

Un validateur HTML confronte votre balisage au standard vivant — repérant des erreurs que les navigateurs masquent mais qui nuisent à l'accessibilité et à la fiabilité.

Un validateur HTML analyse votre document comme le ferait un navigateur et signale les endroits où il s'écarte du standard HTML. Il signale les balises non fermées, les attributs mal utilisés, les éléments placés là où la spécification ne l'autorise pas, et d'autres problèmes structurels. En somme, il confronte votre balisage au règlement et vous indique précisément où les deux divergent, avant que ces divergences ne se transforment en bugs.

La raison pour laquelle ces problèmes passent si souvent inaperçus, c'est que les navigateurs sont délibérément indulgents. L'algorithme d'analyse du HTML est conçu pour se remettre de presque n'importe quelle erreur tout en produisant une page utilisable, ce qui est excellent pour la résilience mais désastreux pour le retour d'information. Une page qui paraît parfaitement correcte dans votre navigateur peut contenir un balisage que le standard considère comme invalide, et vous ne le sauriez jamais sans un outil qui vérifie par rapport à la spécification plutôt que de se contenter d'afficher le résultat.

— VersionDude

L'outil de référence pour ce travail est le Nu HTML Checker, disponible sur validator.nu et comme moteur derrière validator.w3.org/nu. Il est issu du même travail de vérification de conformité documenté ailleurs sur ce site, et il applique le véritable algorithme d'analyse ainsi que les règles de schéma qui sous-tendent le standard vivant. Parce qu'il utilise l'algorithme réel plutôt qu'une approximation, ses verdicts reflètent la façon dont un analyseur conforme au standard interprète véritablement votre document.

Il vaut la peine d'être précis sur ce que le validateur promet ou non. Il vérifie la conformité au standard — que votre balisage est bien formé et qu'il utilise correctement les éléments et les attributs — et non que votre page est bien conçue, accessible à tous égards ou exempte d'erreurs logiques. Un document peut se valider parfaitement et avoir tout de même une mauvaise ergonomie, de même que quelques avertissements de validation ne signifient pas nécessairement qu'une page est cassée. Le validateur est un instrument précis et étroit, et le traiter comme l'image complète serait une erreur.

Dans son périmètre, toutefois, un balisage valide apporte des bénéfices concrets et pratiques plutôt qu'une simple propreté. Il améliore l'accessibilité, car les technologies d'assistance s'appuient sur un DOM bien formé et correctement structuré pour transmettre le contenu aux utilisateurs qui ne peuvent pas voir l'écran. Les titres mal imbriqués, les libellés manquants et les repères malformés dégradent tous cette expérience, et bon nombre de ces problèmes apparaissent d'abord sous forme d'erreurs de validation.

Une icône de coche indiquant une vérification réussie.
Une icône de coche indiquant une vérification réussie.

Un balisage valide réduit aussi les incohérences entre navigateurs. Lorsque votre document s'écarte du standard, différents navigateurs peuvent appliquer leurs règles de récupération d'erreurs de manières subtilement différentes, conduisant à une mise en page ou un comportement qui varie entre eux. Un balisage conforme donne à chaque navigateur conforme au standard le même arbre sans ambiguïté à partir duquel travailler, ce qui signifie moins de ces exaspérantes surprises « ça marche ici mais pas là ».

Il y a aussi un angle recherche et outillage. Les moteurs de recherche, les aperçus de liens, les fonctionnalités de mode lecture et d'innombrables outils automatisés lisent le DOM que produit votre balisage, et une structure prévisible et valide rend vos pages plus fiablement interprétées par tous. Vous ne pouvez pas contrôler la façon dont chaque outil analyse un document brouillon, mais vous pouvez contrôler le fait de lui en remettre un propre, et la validation est la manière de le vérifier.

Tout cela fait de la correction des avertissements du validateur l'un des gains de qualité les moins coûteux qui soient. La plupart des erreurs sont rapides à résoudre — une balise de fermeture manquante, un id dupliqué, un attribut sur le mauvais élément — et le bénéfice en accessibilité, cohérence et prévisibilité est disproportionné par rapport à l'effort. Peu d'améliorations offrent un rapport bénéfice/temps passé aussi favorable.

La façon de capter cette valeur de manière fiable est de faire de la validation une partie de votre flux de travail plutôt qu'un rituel occasionnel. Exécutez le validateur au commit, ou intégrez-le à votre pipeline d'intégration continue, afin que le balisage soit vérifié automatiquement chaque fois qu'il change. Attraper les erreurs au moment où elles sont introduites est bien plus facile que de faire de l'archéologie plus tard sur une grande base de code longtemps négligée.

Une fois automatisé, traitez les nouvelles erreurs de validation comme vous traitez un test qui échoue : comme une régression qui bloque le changement jusqu'à sa correction. Cela garde votre balisage conforme dans le temps au lieu de se dégrader lentement, et transforme la conformité au standard d'un effort de nettoyage héroïque en une habitude discrète et continue. La combinaison du Nu HTML Checker et d'un flux de travail discipliné est l'un des moyens les plus fiables de garder le balisage d'un site en bonne santé sur le long terme.

Projet lié