web-dev-qa-db-fra.com

Attributs HTML5 <html> xmlns, lang, xml: lang

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?

31
ma11hew28

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.

36
Pointy

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

17
Alohci

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:

  • Style (par exemple, différentes polices pour différentes langues)
  • Vérificateurs d'orthographe et de grammaire
  • Outils de traduction
  • Résultats de recherche (le balisage interne de la page peut être utilisé pour en améliorer la qualité en fonction des préférences linguistiques de l'utilisateur)
0
Nasia Makrygianni