Je ne comprends pas les spécifications HTML5 pour les attributs lang
et xml:lang
de la balise d'ouverture <html>
. 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
? Devraient-ils être utilisés? Si oui, à quoi devraient-ils être réglés?
Réponses
Trop de publicité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 la balise <html>
.
Puisque HTML5 n'est pas XML, vraiment, personnellement, je trouverais bizarre d'utiliser n'importe quel élément d'espace de noms xml:
.
xml:lang dans le texte/html sérialisation est juste là pour permettre à des auteurs d'écrire polyglotte documents - les documents qui sont valables XHTML5 et HTML5 valide.
En HTML (par opposition à XHTML, xml:lang n'est pas un attribut dans l'espace de noms XML à tous, c'est un attribut dans l'espace de noms null appelés xml:lang
. c'est à dire le colon n'a pas la magie de propriétés, c'est juste un autre personnage du nom de l'attribut comme les autres.
Pour répondre à la question que vous avez eu à l'origine d'environ en-US-x-hixie
:
en-US-x-hixie
est en-US
(c'est à dire l'anglais Américain) en plus d'une utilisation privée subtag -x-hixie
sens de la variante de l'anglais AMÉRICAIN comme écrit par Ian Hickson, l'éditeur HTML5.
L'Usage privé Subtags sont définis dans la RFC: 5646, BCP 47 http://www.ietf.org/rfc/bcp/bcp47.txt
Section 2.2.7. Private Use Subtags
Ceci est LA source définitive de vérité: http://diveintohtml5.info/semantics.html .
Bonne lecture.