L'attribut universel lang permet de définir la langue utilisée pour l'élément. Pour les éléments non-éditables c'est la langue dans laquelle ils sont écrits et, pour les éléments éditables, c'est la langue dans lequel ils seront écrits. La valeur de cet attribut est une balise dont le format est défini par le document de l'IETF : Les balises d'identification de langues (BCP47). Si cette balise est la chaîne vide, la langue sera définie comme inconue. Si la balise de langue n'est pas valide selon BCP47, la langue sera définie comme invalide.

Même lorsque l'attribut lang est défini, il peut ne pas être pris en compte. En effet, l'attribut xml:lang aura la priorité sur celui-ci.

Pour la pseudo-classe CSS :lang, deux noms de langues invalides sont considérés différents si les noms utilisés sont différents.

Syntaxe des balises de langue

La syntaxe complète décrite par la BCP 47 est suffisamment développée pour désigner certains dialectes spécifiques. Toutefois, dans la plupart des cas, l'utilisation sera assez simple.

Voici un aperçu de la syntaxe simplifiée. Une balise de langue est composées de trois « sous-balises » séparées par des tirets. Chacune de ces sous-balises indique une certaine propriété de la langue. Les trois sous-balises communément utilisées sont :

Sous-balise de langue
Ce fragment est obligatoire. C'est un code sur deux ou trois caractères (généralement en minuscules) qui définit la langue de base. Pour l'anglais, cette sous-balise est en et pour le Badeshi, cette balise est bdz.
Sous-balise de script
Ce fragment est optionnel. Il décrit le système d'écriture utilisé par la langue. Cette sous-balise contient toujours quatre caractères. Pour le braille français, la balise complète sera donc fr-Brail ; pour le japonais écrit avec l'alphabet Katakana, le code sera ja-Kana. Si la langue est utilisée avec le script le plus fréquemment utilisé (par exemple de l'espagnol écrit avec l'alphabet latin), il n'est pas nécessaire d'indiquer cette sous-balise.
Sous-balise régionale
Ce fragment est optionnel. Il définit un dialecte de la langue de base pour une région donnée. Cette sous-balise est composée de deux lettres en majuscules pour indiquer un pays ou de trois chiffres pour une indiquer une région qui n'est pas un pays. Ainsi, es-ES représente l'espagnol parlé en Espagne et es-013 représente l'espagnol parlé en Amérique centrale ; l'espagnol international serait simplement es.

La sous-balise de script doit précéder la sous-balise régionale si les deux sont présentes. Voici un exemple avec les trois fragments : ru-Cyrl-BY qui correspond au russe, écrit avec l'alphabet cyrillique, tel que parlé en Biélorussie.

Spécifications

Spécification État Commentaires
HTML Living Standard
La définition de 'lang' dans cette spécification.
Standard évolutif Aucun changement depuis la dernière dérivation, HTML 5.1
HTML 5.1
La définition de 'lang' dans cette spécification.
Recommendation Dérivée de HTML Living Standard, aucun changement de HTML5
HTML5
La définition de 'lang' dans cette spécification.
Recommendation Dérivée de HTML Living Standard. Définition du comportement de l'attribut xml:lang et de l'algorithme à utiliser pour déterminer la langue utilisée. Cet attribut devient également un attribut global à part entière.
HTML 4.01 Specification
La définition de 'lang' dans cette spécification.
Recommendation Attribut supporté pour tous les éléments <applet>, <base>, <basefont>, <br>, <frame>, <frameset>, <iframe>, <param>, et <script>.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet OuiEdge Support complet OuiFirefox Support complet OuiIE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet OuiOpera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Oui

Légende

Support complet  
Support complet

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,