Considérant les besoins des lecteurs d'écran, de la vérification orthographique du navigateur, des moteurs de recherche, etc., comment le texte en langage non-humain doit-il être balisé en HTML?
Devrait-il être emballé dans une étiquette particulière?
Existe-t-il un attribut spécial standard lang
pour la balise englobante (par exemple, ""
)?
Notez que nous pouvons souhaiter marquer une entrée de formulaire comme acceptant une sorte de texte dans un langage autre que le langage humain.
Exemples de texte dans un langage autre que le langage humain:
Cela dépend du contenu réel (il existe une différence importante entre, par exemple, un hachage et ASCII art) et le contexte (contenu modifiable ou présenté). Donc, après avoir choisi l'élément approprié (et éventuellement WAI-ARIA), HTML5 offre les options suivantes:
L'étiquette de langue zxx
( IETF BCP 47 / registre IANA ) peut être utilisée pour "pas de contenu linguistique":
<span lang="zxx"><!-- … --></span>
L'attribut translate
( HTML5 ) peut être utilisé pour spécifier que le contenu ne doit pas être traduit:
<span translate="no"><!-- … --></span>
L'attribut spellcheck
( HTML5 ) peut être utilisé pour spécifier que le contenu modifiable ne doit pas être vérifié pour les erreurs d'orthographe/de grammaire:
<textarea spellcheck="false"><!-- … --></textarea>
J'aime utiliser la balise <code> pour tout type de code, hash-ish (pun) ou blocs de données. J'utilise la balise <pre> pour afficher les sorties ascii directes (telles que les captures d'écran de mainframes ou d'art).
Il n'y a pas de recommandations spécifiques pour WCAG 2.0 ou même en HTML5 (pour le moment). Vous pouvez probablement l'envelopper avec une balise <code>
(comme suggéré par Joel Etherton).
L'art ASCII est différent cependant. WCAG vous recommande de fournir à l'utilisateur une description textuelle et un moyen de l'ignorer. Voir H86 .