4. Robuste
Le contenu doit pouvoir être interprété de manière fiable par une large variété d’agents utilisateurs (navigateurs…), et notamment les technologies d’assistance (lecteurs ou revues d’écran…).
4.1 Compatible
Compatible avec les agents utilisateurs (actuels et futurs), et notamment les technologies d’assistance.
4.1.1 [A] Validité du code
Respect de la grammaire (parsing) :
- Les éléments ont une balise de début et une balise de fin.
- Les éléments sont imbriqués conformément aux spécifications.
- Les éléments ne contiennent pas d’attributs dupliqués et les identifiants (attributs id) sont uniques.
Les règles d’écriture doivent être respectées (il ne doit pas y avoir d’erreur de syntaxe) : crochets ouvrants et fermants pour les éléments, guillemets ouvrants et fermants pour la valeur des attributs…).
4.1.2 [A] Nom, rôle et valeur des composants d’interface
Pour tout composant d’interface utilisateur (éléments de formulaires, liens, composants générés par des scripts…), les informations suivantes doivent pouvoir être exploitées par les agents utilisateurs et les technologies d’assistance :
- le nom et le rôle des composants ;
- les propriétés des composants, les valeurs choisies (réglages, paramètres) et l’état des composants ;
- les mises à jour (notifications…) et les changements d’état des composants.
Ce critère concerne en premier lieu les auteurs qui développent ou programment des composants spécifiques d’interface utilisateur. Les contrôles HTML standards répondent à ce critère lorsqu’ils sont utilisés conformément aux spécifications. Pour la compatibilité avec les technologies d’assistance (via une API d’accessibilité), se référer aux spécifications ARIA.