string

lang

Déclare la langue du contenu de l'élément au format BCP 47 (ex. fr, en-US, ar). Essentiel pour l'accessibilité et la typographie correcte.

Description

L’attribut lang indique la langue naturelle du contenu d’un élément. Sa valeur est une balise de langue BCP 47 (ex. fr, en-US, ar, zh-Hant). Il est hérité par les éléments enfants. Posé sur <html>, il définit la langue principale du document entier.

Syntaxe

<html lang="fr">…</html>
<p lang="en">This paragraph is in English.</p>

Exemples

Page française avec passage en anglais :

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <title>Exemple</title>
</head>
<body>
  <p>Bonjour, voici un exemple en français.</p>
  <blockquote lang="en">
    <p>The quick brown fox jumps over the lazy dog.</p>
  </blockquote>
  <p>La langue du document est bien le français.</p>
</body>
</html>

Citation en arabe :

<p>Le proverbe arabe dit : <q lang="ar">العلم نور</q> (la science est lumière).</p>

Notes

Obligation sur <html> : chaque page HTML doit avoir un attribut lang sur l’élément <html>. C’est un critère d’accessibilité WCAG (niveau A) — les lecteurs d’écran l’utilisent pour choisir la voix et la prononciation correcte.

Codes BCP 47 : la syntaxe est langue (ex. fr), langue-région (ex. fr-CH pour le français suisse), ou langue-script-région (ex. zh-Hant-TW). Les codes de langue sont définis par l’IANA Language Subtag Registry.

Impact typographique : CSS utilise lang pour appliquer des règles typographiques correctes (guillemets, césures, espacement) via ::before { content: open-quote } et les polices adaptées.

Support navigateurs

Chrome1+ · Firefox1+ · Safari≤4+ · Edge12+