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+