Yergeau, Nicol, Adams & Dürst — Internationalisation d'HTML

3. L'attribut LANG

Les étiquettes de langue peuvent être utiles pour différents aspects du rendu de documents balisés : choix de glyphe, dans les cas d'ambiguïté non résolues par le codage de caractères ; césure ; ligatures ; espacement ; synthèse vocale ; etc. Indépendamment des questions de rendu, l'étiquetage de langue est utile comme balisage de contenu pour des fins comme la classification et la recherche.

Puisque qu'à tout texte peut logiquement être associé une langue, presque tous les éléments HTML admettent l'attribut LANG, ainsi qu'en témoigne la DTD; les seuls éléments de cette version d'HTML à ne pas admettre l'attribut LANG sont BR, HR, BASE, NEXTID et META. L'intention est aussi que tout nouvel élément d'une version ultérieure d'HTML admette l'attribut LANG, sauf contre-indication.

L'attribut de langue, LANG, a comme valeur une étiquette qui identifie une langue naturelle parlée, écrite ou autrement exprimée par des personnes en vue de communiquer avec d'autres personnes. Les langages de programmation sont explicitement exclus.

La syntaxe et le registre des étiquettes de langue HTML sont les mêmes que ceux définis par le RFC 1766 [RFC1766]. En résumé, une étiquette de langue se compose d'une ou de pluieurs parties : une étiquette primaire et une série, pouvant être vide, de sous-étiquettes :

     étiquette-de-langue = étiquette-primaire *( "-" sous-étiquette )
     étiquette-primaire  = 1*8ALPHA
     sous-étiquette      = 1*8ALPHA
Il n'y a pas de blanc dans une étiquette, et elle sont insensibles à la casse. L'espace des noms des étiquettes de langue est administré par l'IANA. Exemples :
    fr, fr-FR, en-cockney, i-cherokee, x-latin-de-cuisine
En HTML, une étiquette de langue ne doit pas être interprétée comme indivisible, selon le RFC 1766, mais comme une hiérarchie. Par exemple, un agent-usager qui règle le rendu selon la langue devrait conclure qu'il y a correspondance lorsque qu'une étiquette de langue dans une feuille de style correspond à la portion initiale de l'étiquette de langue d'un élément, à défaut d'une correspondance exacte. Cette interprétation permet à un élément balisé comme, par exemple, fr-FR d'utiliser des styles prévus pour le français de France (fr-FR) ou à défaut le français générique ou international (fr).
NOTE — L'interprétation en hiérarchie des étiquettes de langue ne signifie pas que toutes les langues ayant un préfixe commun sont comprises par les locuteurs de l'une ou plusieurs de ces langues ; on permet simplement aux utilisateurs d'en profiter lorsque c'est le cas.
Le rendu des éléments peut être affecté par l'attribut LANG. Pour tout élément, la valeur de son attribut LANG l'emporte sur la valeur de l'attribut LANG d'un élément englobant et sur la valeur (s'il y a lieu) de l'en-tête HTTP Content-Language. À défaut, une valeur implicite, possiblement soumise à réglage par l'utilisateur, devrait contrôler le rendu.

Précédent TdM Suivant