Je ne comprends pas les spécifications HTML5 pour les lang
et xml:lang
attributs de l'ouverture <html>
tag. En remontant un peu, je comprends que xmlns
est un "talisman" (n'a aucun effet), mais qu'en est-il de lang
et xml:lang
? Doivent-ils être utilisés? Si oui, à quoi devraient-ils être réglés?
Tout ce que j'ai vu et entendu suggère que vous devez vous en tenir à
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
(ou n'importe quel jeu de caractères que vous voulez réellement). Si vous voulez une langue associée à la page, vous pouvez utiliser l'attribut "lang" sur le <html>
tag.
Puisque HTML5 est pas XML, vraiment, personnellement, je trouverais bizarre d'utiliser n'importe quel xml:
stuff d'espace de noms.
xml: lang dans la sérialisation text/html est juste là pour permettre aux auteurs d'écrire des documents polyglottes - des documents qui sont valides XHTML5 et HTML5 valides.
En HTML (par opposition à XHTML), xml: lang n'est pas du tout un attribut dans l'espace de noms XML, c'est un attribut dans l'espace de noms nul appelé xml:lang
. c'est-à-dire que le deux-points n'a aucune propriété magique, c'est juste un autre caractère du nom d'attribut comme un autre.
Pour répondre à la question que vous aviez à l'origine sur en-US-x-hixie
:
en-US-x-hixie
est en-US
(c'est-à-dire l'anglais américain) plus une sous-étiquette à usage privé -x-hixie
signifiant la variante de l'anglais américain telle qu'écrite par Ian Hickson, l'éditeur de HTML5.
Les sous-étiquettes à usage privé sont définies dans RFC: 5646, BCP 47 http://www.ietf.org/rfc/bcp/bcp47.txt Section 2.2.7. Private Use Subtags
L'attribut lang fait une énorme différence sur un document html en ce qui concerne les utilisateurs qui utilisent un lecteur d'écran. Donc, considérant a11y, vous voudrez certainement l'utiliser. Cette vidéo est le meilleur argument à ce sujet: https://youtu.be/0uzxu9dQn "Effet de l'attribut lang sur le discours JAWS". Il montre comment un lecteur d'écran prononcera du texte anglais avec une prononciation espagnole, française ou allemande (ce qui est très difficile à comprendre) simplement parce que la lang attr est définie sur ces langues à chaque fois.
Vérifiez également: https://www.w3.org/International/questions/qa-lang-why.fr où quelques bonnes raisons mentionnées sont: