Analyse syntaxique et validité
Aperçu – Analyse syntaxique et validité
Les agents utilisateurs, y compris les navigateurs et les technologies d’assistance, doivent interpréter et analyser le contenu avec précision. Les défauts de balisage peuvent faire en sorte que les agents utilisateurs ne parviennent pas à analyser ou à présenter le contenu différemment.
Le critère de succès 4.1.1 des WCAG – Analyse syntaxique (niveau A) précise quatre exigences en matière de balisage :
- les éléments ont des balises de début et de fin complètes;
- les éléments sont imbriqués selon leurs spécifications;
- les éléments ne contiennent pas d’attributs en double;
- tous les identificateurs sont uniques.
Validez le balisage à l’aide d’un outil comme le service de validation du balisage W3C. Les rapports de validation détectent généralement les défauts de chaque exigence.
Les conséquences sur l’éventail d’accessibilité vont de minimales à graves. La plupart des navigateurs modernes réparent les balises de début ou de fin incomplètes, les imperfections et les attributs en double. Toutefois, les valeurs d’attribut d’identification en double peuvent amener un lecteur d’écran à faire des associations incorrectes entre des éléments, comme une étiquette ou une description erronée.
Les éléments ont des balises de début et de fin complètes
Les balises doivent contenir tous les caractères requis par la syntaxe HTML, par exemple,
- les balises de début consistent en un nom d’élément entouré des caractères « inférieur à » et « supérieur à » :
<h1>
- dans les balises de fermeture, il faut ajouter une barre oblique inverse :
</h1>
Les éléments sont imbriqués selon leurs spécifications
Les éléments ayant une relation parent-enfant sont nettement imbriqués, les balises de début et de fin de l’élément enfant étant complètement à l’intérieur des balises de début et de fin de l’élément parent.
Bon exemple : Les balises d’un élément fort inclus par référence sont entièrement emboîtées à l’intérieur des balises du paragraphe parent
HTML
Début du code
<p><strong>Important:</strong> Verrouillez la porte en partant.</p>
Fins de code
Mauvais exemple : Liste défectueuse
Les « éléments de liste sans élément de liste parent » et les « éléments de texte sans élément de liste parent » sont relevés par le validateur W3C.
HTML
Début du code
<body>
<h1>En-tête avec toutes les balises nécessaires</h1>
<p>Paragraphe avec toutes les balises nécessaires</p>
<p>Paragraphe sans balise finale (valide en HTML5)
<li>Élément de liste dans élément de liste parent</li>
<ul>
Texte sans élément de liste parent
</ul>
</body>
Fins de code
Les éléments ne contiennent pas d’attributs en double
Assurez-vous qu’aucun attribut ne se retrouve plus d’une fois sur un élément.
Assurez-vous qu’aucune valeur d’attribut d’identification n’est répétée dans une vue de page.
Les valeurs des identificateurs sont utilisées par les technologies d’assistance pour associer les étiquettes et les descriptions avec les éléments, pour les associations d’en-têtes et de cellules dans les tableaux complexes et pour définir les relations dans les widgets d’ARIA (aria-owns
, aria-controls
, etc.). Les valeurs d’attribut d’identification en double peuvent semer de la confusion et, dans le cas des formulaires, peuvent entraîner des erreurs de saisie par l’utilisateur, les champs de saisie étant mal identifiés ou mal décrits.
Ressources WCAG connexes
Ressources WCAG connexes
Critères de succès
Techniques
- H74 : S'assurer que les balises d'ouverture et de fermeture sont utilisées conformément aux spécifications (en anglais)
- H93 : S'assurer que les attributs id sont uniques sur une page Web (en anglais)
- H94 : S'assurer que les éléments ne contiennent pas d'attributs dupliqués (en anglais)
- H75 : S'assurer que les pages Web sont bien formées (en anglais)