Normes · WCAG 2.2

SC 3.1.2 Niveau AA WCAG 2.0

Langue des parties

Lorsqu'un passage ou une expression de la page est dans une langue différente de la langue par défaut, il faut le marquer avec un attribut lang sur son conteneur — afin que les lecteurs d'écran changent de voix et de prononciation pour ce fragment.

Ce que le critère demande

Si une phrase, un paragraphe, un bloc de citation ou un élément en ligne dans une page est rédigé dans une langue autre que la langue déclarée par défaut, ce fragment doit porter son propre attribut lang. Exceptions : les noms propres, les termes techniques, les mots dont la langue est indéterminée, ainsi que les mots intégrés dans la langue environnante (« rendezvous » en anglais, par exemple).

L’objectif est que les lecteurs d’écran basculent leur moteur de prononciation à la volée — lisant un bloc de citation en allemand avec une voix allemande, puis revenant à la langue d’origine pour le commentaire environnant.

Comment satisfaire ce critère

  • Encapsulez le passage en langue étrangère dans n’importe quel élément (souvent <span>, <blockquote>, <q>, <p>) et ajoutez lang.
  • Exemple : <p>La devise est <span lang="la">carpe diem</span>.</p> — sauf que « carpe diem » est un emprunt et donc exempté ; le critère s’applique aux passages véritablement étrangers.
  • Pour les longues citations, utilisez <blockquote lang="fr"> autour de l’ensemble du passage.
  • Pour les titres multilingues, marquez chaque segment.
  • Pour les fragments de droite à gauche dans des pages de gauche à droite, associez dir="rtl".
  • Lorsque vous extrayez des chaînes localisées d’un CMS, veillez à ce que le champ de locale se transmette jusqu’à l’attribut lang du fragment rendu.

Échecs courants

  • Une page multilingue avec le lang racine correct mais sans annotation par fragment — toute citation étrangère, tout titre de chanson ou tout témoignage est lu avec la mauvaise voix.
  • Marquer des noms propres avec lang (sur-application) — le critère les exempte explicitement.
  • Utiliser lang="english" ou d’autres valeurs non conformes à BCP-47 dans le fragment.
  • Pages produits bilingues avec traductions côte à côte où seulement une colonne porte un attribut lang.
  • Sites d’actualités citant des personnalités politiques étrangères sans envelopper la citation.

Pourquoi c’est important

Sans changement de langue par fragment, les lecteurs d’écran prononcent une expression française comme « merci beaucoup » en appliquant les règles phonétiques anglaises, ce qui donne un résultat comique ou incompréhensible. Pour les utilisateurs qui dépendent de la synthèse vocale comme canal principal de lecture, cela compte plus qu’il n’y paraît — les longs articles d’actualité, les contenus académiques et les textes marketing multilingues deviennent épuisants à déchiffrer.

Ce critère est largement sous-implémenté même sur des sites qui satisfont 3.1.1, car il exige une discipline éditoriale au moment de la création du contenu, et non une simple modification de gabarit.