Bonjour,
Suite à une question de Arsene dans un autre sujet :
En résumé :
Je reprends la nomenclature développée dans l'Article d'Open Web sur ce sujet (cité plus bas) et qui définis :
- Une langue de traitement unique, attaché à un contenu.
- Une ou des langues primaires attachées à la "ressource web" et qui réfèrent au "public" visé.
Pour la ou les langues primaires :
L'en-tête Http "content language" et son équivalent : la métadonnée <meta http-equiv="Content-Language">, permettent d'indiquer plusieurs langues primaires.
Le but est d'indiquer la ou les langues qui correspondent au(x) public(s) visé(s) par l'Auteur.
Il n'est donc pas nécessaire d'indiquer toutes les langues utilisées mais bien celles qui réfèrent le public visé.
Par exemple un cours d'anglais, destiné à un public français, devra faire référence au code de langue "fr", quelque soit l'importance du contenu anglais du document.
A contrario une édition bilingue destinée à un public français et anglais devra référer les deux codes de langue en les séparant par une virgule :
Pour les indications de la langue de traitement :
Ces indications sont destinées aux dispositifs logiciels qui doivent traiter le contenu, ce sont donc des indications techniques qu'il ne faut pas confondre avec les "langues primaires" qui concernent les publics visés (l'audience).
La valeur utilisée est toujours unique et adresse un contenu spécifique, elle se déclare directement au niveau de l'élément conteneur par l'attribut lang et/ou l'attribut xml:lang selon le doctype :
Pour l'élément Html :
Enfin, on peut utiliser le code de régionalisation, quand il existe, pour distinguer des langues dérivées, locales ou des dialectes :
Ceci posé, comment traiter la déclaration de la langue de traitement d'un document parfaitement bilingue, pour l'élément html (et lui seul) ?.
Réponse relativement simple : il n'y à pas de raison valable de faire cela en regard de l'objectif assigné à cet attribut ... .
Ce sujet reviens de manière récurrente, la dernière "poussée de fièvre" à eut pour origine les commentaires sur WCAG 2.0
Discussions pas extraordinaire d'ailleurs certains trouvant anormal de ne pas pouvoir le faire et en voulant pas en démordre, ce à quoi on ne peut que répondre qu'on ne peux pas considérer d'un point de vue technique, qu'un document est "à la fois" d'une langue et d'une autre.
Il faut donc chercher d'autres pistes, l'une d'entre-elle est de considérer les métadonnées : si elles privilégient une langue, par exemple un document dont le corps est multilingue français-anglais mais dont les métadonnées sont en français, il faut prendre cette référence et indiquer lang=fr.
Mais là c'est un cas simple : ce n'est pas un document "parfaitement multilingue"...
Pour un document parfaitement multilingue :
La direction qui est prise par le W3C est, dans le cas d'un document multilingue du point de vue des langues de traitement et de l'audience, de laisser la possibilité de ne pas déclarer la langue de traitement au niveau de l'élément html :
Ce qui reviens à dire qu'en réalité vous avez le choix : Déclarer une langue de traitement initiale au niveau de l'élément Html ou décidez de le faire d'une autre manière dans le document lui-même.
Par exemple, la note de travail du W3C présente la structure d'un document où rien n'est déclarée dans l'élément Html et où les indications des langues de traitement sont reportées dans le document au moyen d'une structuration par des divs.
Ce document de "bonnes pratiques" est très récent (21Juillet 2006) et encore en version de travail mais il représente une position constante du W3C à ce sujet.
Pour en savoir plus :
Open Web - Spécifier la langue d'un document (X)HTML (De l'homme qui murmurait des prières aux oreilles des spécifications...)
W3C - Internationalization Best Practices: Specifying Language in XHTML & HTML Content (en)
Jean pierre
Modifié par jpv (27 Sep 2006 - 03:23)
Suite à une question de Arsene dans un autre sujet :
a écrit :
Je suis en train de terminer un site 100% bilingue où pour éviter la prééminence d'une langue sur l'autre, tous les éléments (entêtes, menus, textes) sont dans des <div> qu'un script PHP affiche de façon aléatoire et où l'on passe d'une langue à l'autre (ça fait partie du "concept" du site) par CSS (=> question aux experts en passant : comment gérer l'attribut lang ???)
...
Comment renseigner :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
et :
<meta http-equiv="content-language" content="fr" />
dans un site parfaitement bilingue...
En résumé :
Je reprends la nomenclature développée dans l'Article d'Open Web sur ce sujet (cité plus bas) et qui définis :
- Une langue de traitement unique, attaché à un contenu.
- Une ou des langues primaires attachées à la "ressource web" et qui réfèrent au "public" visé.
Pour la ou les langues primaires :
L'en-tête Http "content language" et son équivalent : la métadonnée <meta http-equiv="Content-Language">, permettent d'indiquer plusieurs langues primaires.
Le but est d'indiquer la ou les langues qui correspondent au(x) public(s) visé(s) par l'Auteur.
Il n'est donc pas nécessaire d'indiquer toutes les langues utilisées mais bien celles qui réfèrent le public visé.
Par exemple un cours d'anglais, destiné à un public français, devra faire référence au code de langue "fr", quelque soit l'importance du contenu anglais du document.
A contrario une édition bilingue destinée à un public français et anglais devra référer les deux codes de langue en les séparant par une virgule :
<meta http-equiv="Content-Language" content="fr, en"
Pour les indications de la langue de traitement :
Ces indications sont destinées aux dispositifs logiciels qui doivent traiter le contenu, ce sont donc des indications techniques qu'il ne faut pas confondre avec les "langues primaires" qui concernent les publics visés (l'audience).
La valeur utilisée est toujours unique et adresse un contenu spécifique, elle se déclare directement au niveau de l'élément conteneur par l'attribut lang et/ou l'attribut xml:lang selon le doctype :
<span lang="en">...</span>
...
<q lang="fr" xml:lang="fr">...</q>
Pour l'élément Html :
html lang="fr" xml:lang="fr"
Enfin, on peut utiliser le code de régionalisation, quand il existe, pour distinguer des langues dérivées, locales ou des dialectes :
lang="fr-CA"
Indique la version de nos cousins Canadiens...
Ceci posé, comment traiter la déclaration de la langue de traitement d'un document parfaitement bilingue, pour l'élément html (et lui seul) ?.
Réponse relativement simple : il n'y à pas de raison valable de faire cela en regard de l'objectif assigné à cet attribut ... .
Ce sujet reviens de manière récurrente, la dernière "poussée de fièvre" à eut pour origine les commentaires sur WCAG 2.0
Discussions pas extraordinaire d'ailleurs certains trouvant anormal de ne pas pouvoir le faire et en voulant pas en démordre, ce à quoi on ne peut que répondre qu'on ne peux pas considérer d'un point de vue technique, qu'un document est "à la fois" d'une langue et d'une autre.
Il faut donc chercher d'autres pistes, l'une d'entre-elle est de considérer les métadonnées : si elles privilégient une langue, par exemple un document dont le corps est multilingue français-anglais mais dont les métadonnées sont en français, il faut prendre cette référence et indiquer lang=fr.
Mais là c'est un cas simple : ce n'est pas un document "parfaitement multilingue"...
Pour un document parfaitement multilingue :
La direction qui est prise par le W3C est, dans le cas d'un document multilingue du point de vue des langues de traitement et de l'audience, de laisser la possibilité de ne pas déclarer la langue de traitement au niveau de l'élément html :
a écrit :
Where a document contains content aimed at speakers of more than one language, decide whether you want to declare one text-processing language in the html tag, or leave the text-processing languages undefined until later.
Ce qui reviens à dire qu'en réalité vous avez le choix : Déclarer une langue de traitement initiale au niveau de l'élément Html ou décidez de le faire d'une autre manière dans le document lui-même.
Par exemple, la note de travail du W3C présente la structure d'un document où rien n'est déclarée dans l'élément Html et où les indications des langues de traitement sont reportées dans le document au moyen d'une structuration par des divs.
Ce document de "bonnes pratiques" est très récent (21Juillet 2006) et encore en version de travail mais il représente une position constante du W3C à ce sujet.
Pour en savoir plus :
Open Web - Spécifier la langue d'un document (X)HTML (De l'homme qui murmurait des prières aux oreilles des spécifications...)
W3C - Internationalization Best Practices: Specifying Language in XHTML & HTML Content (en)
Jean pierre
Modifié par jpv (27 Sep 2006 - 03:23)