Aller au contenu

Déclaration de langue


cs76

Sujets conseillés

Bonjour,

Sur mon site, je fais la déclaration de langue sous la forme :

<meta http-equiv="Content-language" content="fr">

Le validateur acces-pour-tous.net me trouve une erreur : "Vous devriez indiquer la langue principale du document"

Merci de me dire quel est le problème.

Url : http://cs76.free.fr/

Lien vers le commentaire
Partager sur d’autres sites

Le W3C donne toutes les explications dans FAQ: Using HTTP and meta for language information.

Rapidement :

La langue de traitement d'un document est unique. Il s'agit par exemple d'indiquer à un lecteur d'écran la langue dans laquelle le document sera lu par défaut, mais aussi à un navigateur graphique la police par défaut ou l'orientation à adopter pour les langues type arabe, japonais... Cette information est utilisable que le document soit consulté en ligne ou enregistré localement. Elle est théoriquement supportée par tous les medias (même les lecteurs d'écran s'y mettent depuis peu).

Elle doit être indiquée avec l'attribut lang (ou xml:lang en xhtml) de l'élément HTML :

- en XHTML1.1:
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">

- en XHTML 1.0
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">

- en HTML
<html lang="fr">

Lorsque le document contient des fragments de contenu dans d'autres langues, on utilise les mêmes attributs localement:

-XHTML1.1:
<p xml:lang="en">

-XHTML1.0:
<p lang="en" xml:lang="en">

-HTML:
<p lang="en">

La redondance lang et xml:lang est recommandée comme bonne pratique en XHTML1.0 pour assurer la compatibilité avec les navigateurs... anciens qui ne savent pas lire xml:lang. L'un ou l'autre, ou l'un et l'autre sont également valides, mais xml:lang seul est le moins indiqué, car le moins bien supporté.

La ou les langues du public visé peuvent être indiquées à l'aide de metadonnées et de l'en-tête HTTP (par exemple en PHP: header('Content-Language: fr'); ).

Cette-fois:

- plusieurs langues peuvent être indiquées (page bilingue, par exemple)

- l'information donnée avec l'en-tête HTTP est perdue lorsque la page est enregistrée localement. La meta, elle, est alors conservée (il faut donc associer les 2)

- le support est plus hasardeux car rien n'oblige les medias à en tenir compte (le validateur d'acces-pour-tous en est un exemple ;) ) Certains navigateurs, lecteurs, moteurs... sont donc susceptibles de les utiliser pour savoir comment traiter le document, mais de manière tout à fait fortuite, non normalisée et pour ainsi dire propriétaire

- les meta ne sont pas normalisées, du moins, pas au sens de la norme HTML qui est imposée aux navigateurs...

- ces infos sont surclassées par les attributs lang et xml:lang utilisés localement dans le document.

Il existe plusieurs formes de meta disponibles, par exemple (ici en XHTML):

HTTP-equiv:
<meta http-equiv="Content-Language" content="fr" />

DUBLIN-CORE:
<meta name="DC.Language" scheme="RFC1766" content="fr" />

Conclusion :

- <html lang=".... est obligatoire

- HTTP et meta sont à décider au cas par cas, selon les besoins.

Mais la redondance entre les 3 ne peut pas nuire, en particulier pour compenser les comportements non standard des différents medias ;)

Ah, au fait : les codes de langue sont ici: http://www.loc.gov/standards/iso639-2/frenchlangn.html

Modifié par LaurentDenis
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'adore des explications rapides comme les tiennes, Laurent :D

A toutes ces techniques pour déclarer la langue utilisée, j'ajouterai celle-ci qui concerne les liens :

l'attribut hreflang

Il est utilisé pour indiquer la langue principale de la page cible désignée par l'attribut href.

Cet attribut ne peut s'utiliser seul mais en complément de href

<a href="http://www.w3.org/" hreflang="en" title="World Wide Web Consortium">W3C</a>

Lien vers le commentaire
Partager sur d’autres sites

En fait, j'avais essayé de mettre lang="fr" dans la balise <html>, mais je m'étais dit que cet attribut n'était plus d'actualité, car le composeur Mozilla le supprime à l'enregistrement.

Je vais donc l'ajouter avec le bloc-notes.

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...