Bonjour,
Dans mon site, je parle régulièrement de jeux vidéos (si vous allez voir mon site vous comprendrez :p ) et j'emploie donc souvent des mots Anglais. Comme je suis respectueux des standards, je précise la langue de mon document, mais quelle élément dois-je utiliser ? Un span, un em... Pour la valeur de la langue, vaut-il mieux mettre en ou en-US ? Si je parle d'un titre, dois-je préciser la langue, sachant que les titres de jeux vidéos ne sont jamais traduits ?

Et une autre question : j'utilise des <div> vides ne contenant qu'un background pour faire le design. Ceci est-il accessible ? Une autre solution est-elle meilleure ?

Et enfin : sur le validateur d'acces-pour-tous.com, on me dit "Si la navigation par la touche TAB n'est pas logique, mettez en place des tabindex". Qu'est-ce qu'une navigation logique ? L'utilisateur s'attent-il à avoir accès aux liens du contenu ou du menu en premier ?

Voilà, voilà...
Modifié le 25 Oct 2004 - 18:24
Du point de vu de l'accessibilité, le plus important, c'est de spécifier la langue global de la page (avec les attribut lang ou xml:lang de la balise HTML) et en respectant le abreviation standard (en pour anglais, fr pour français...)

Il est aussi vivement recommender de preciser la langue des documents vers lesquel pointes des lien (sous forme de texte dans le lien et avec l'attribut lang de la balise A)

Si tu veux, tu peux préciser la langue de chaque élément de ta page, mais c'est un peu superflue (en général, on sait faire le différence en tre du français et une autre langue en lisant un texte Smiley cligne )

A toi de voir l'utilité que cela peut avoir. Smiley smile
Pour ce qui est de xml:lang et de lang dans la balise html, il faut en fait spécifier les 2, c'est pas obligatoire, mais c'est mieux, le xhtml etant un format de transition, il vaut mieux indiquer les 2.

Sinon pour ce qui de l'attribut dans le lien, c'est hreflang et non lang.

Pour tes divs vide contenant des éléments de design en background, point d'accessibilité ici, tant que le background est graphique purement et non textuel, pas de soucis, mais au niveau de la pertinence du code, c'est déjà beaucoup moins bon... es tu certain de ne pas avoir un autre élément pouvant accuellir ton background ?

Sur le CSS Zen Garden et sur Dotclear, il y a des balises vide pour ce genre de manip, mais ce n'est pas des plus recommandé... dans les cas précédent, c'est parcequ'on n'a pas forcément accès au code html.
Si tu veux, tu peux préciser la langue de chaque élément de ta page, mais c'est un peu superflue (en général, on sait faire le différence entre du français et une autre langue en lisant un texte cligne )

Si tu lis toi-même le texte, oui, mais si c'est un navigateur texte qui lis, c'est moins sûr...
Pour tes divs vide contenant des éléments de design en background, point d'accessibilité ici, tant que le background est graphique purement et non textuel, pas de soucis, mais au niveau de la pertinence du code, c'est déjà beaucoup moins bon... es tu certain de ne pas avoir un autre élément pouvant accuellir ton background ?


J'ai essayé avec de :before et :after, mais j'ai pas réussi... En fait, je veux afficher une image qui ne fait que de la décoration juste avant le conteneur de mon texte principal (et même chose juste après). J'ai préféré mettre ces images en arrière-plan d'un div que dans des balises <img alt="" />.
Modifié le 25 Oct 2004 - 21:52
Pour les changements de langue, il est en effet indispensable de les signaler systématiquement pour faciliter le traitement du document par un traducteur, un lecteur d'écran, un moteur de recherche, etc.

div et span conviennent très bien pour cela en l'absence d'une autre balise existante : ils sont justement faits pour ajouter ce type de structure. Inutile de mettre des em à tout prix.

Et la langue de traitement par défaut du document doit effectivement être indiquée dans l'élément html à l'aide:
- de lang en HTML
- de lang et de xml:lang en XHTML1.0 traité en tant que HTML
- de xml:lang en XHTML1.0 traité en tant que XML et en XHTML1.1

D'autre part, la langue primaire du document (destinée à son indexation par les moteurs de recherche) doit, pour sa part, être indiquée dans l'en-tête HTTP Content Language et dans une meta appropriée, du type <meta http-equiv="Content-Language" content="fr" />

Voir http://blog-and-blues.org/weblog/2004/10/20/319-specifier-la-ou-les-langues-dun-document-web pour les détails
Modifié le 26 Oct 2004 - 06:05
Arf... autant pour moi... effectivement, je me suis trompé entre kang et hreflang Smiley sweatdrop ... tout simplement parce que l'attribut lang est disponible pour toutes les balises, il est donc très utile pour spécifier des langues différentes pour chaque élément balisé
Bonjour,

A propos de l'attribut hreflang : est-il nécessaire de le spécifier quand la langue de la page liée est la même que celle qui contient le lien ?

Merci d'avance, Antoine
Rien ne n'autorise un outil quelconque à déduire la langue de la cible d'un lien à partir du contexte où se trouve ce lien. Donc, oui, l'usage d'hreflang devrait être constant...

(Ce qui ne veut pas dire qu'il faut à tout prix l'afficher dans tous les cas via CSS : inutile d'encombrer le contenu avec d'incessantes mentions de langue-cible qui devraient en fait être gérées nativement par le navigateur).

Mais ce qui compte plus, c'est d'être sûr que la cible sera bien durablement accessible dans la langue précisée. Si le site visé se met à pratiquer la négociation de langue avec les préférences des visiteurs... cela n'a rien de si évident.
Si j'ai tout bien suivis :

La langue / DTD :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">


Le lien adéquat :

<a href="http://validator.w3.org/check?uri=referer" title="Site valide W3C XHTML" hreflang="en" charset="iso-8859-1">Valide <acronym lang="en" title="World Wide Web Consortium">W3C</acronym> <acronym lang="en" title="Extended Hyper Text Marking up Langage">XHTML</acronym></a>

Ici je spécifie mon "title" en français, donc pas de changement, mon lien est en anglais donc le "hreflang" spécifie "en", dans lequel se glisse différent "acronym" en anglais eux aussi (définis par "lan='en'").
Etant donné que le "charset" change, je l'indique aussi... (je passe du 15 au 1 ...)

Smiley hum Est-ce correct ?
C'est presque ça ;)

Pour les langues, c'est bon, quoique la spécification "conseille" (ce n'est pas normatif) d'utiliser lang et xml:lang simultanéement à chaque fois. L'un ou l'autre seul sont de toute façons conformes.

En revanche, l'attribut charset désigne l'encodage de la **cible**, pas celui de la source (le validateur du W3C est en utf-8).
Plus généralement, cet attribut est d'une utilisation délicate et d'une utilité à confirmer... Mieux vaut l'éviter.

Un détail: XHTML = Extensible HyperText Markup Language
Laurent Denis a écrit :
C'est presque ça ;)

En revanche, l'attribut charset désigne l'encodage de la **cible**, pas celui de la source (le validateur du W3C est en utf-8).
Hum, erreur d'inatention pour le "charset"... Et je confirme que le "charset" était destiné à la valeur cible... Mais mon erreur de "charset" t'as orienté dans l'inverse.
Laurent Denis a écrit :

Plus généralement, cet attribut est d'une utilisation délicate et d'une utilité à confirmer... Mieux vaut l'éviter.
Ah ... Hum ... Je ne savais pas ...
Laurent Denis a écrit :

Un détail: XHTML = Extensible HyperText Markup Language

Smiley confused J'ai toujours utilisé "Extended" Smiley biggrin Je corrigerais Smiley smile
Hep, je continue ce post avec une petite question sur le doctype. Je travaille actuellement à la mise en ligne d'un site en 5 langues. Mes doctypes sont ils bons ?
En français :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

En anglais :
xml:lang="en" lang="en">

En allemand :
xml:lang="de" lang="de">

En italien :
xml:lang="it" lang="it">

En hollandais :
xml:lang="nl" lang="nl">

Ou y a-t-il d'autre specs à indiquer ?
Administrateur
kuvett a écrit :

Ou y a-t-il d'autre specs à indiquer ?

Comme l'indique le reste de ce sujet, il n'y a pas que le doctype qui compte... mais si ta question est simplement de savoir si les abréviations de langue que tu as indiquées sont bonnes, je dirais : oui.

Laurent Denis a fait un billet regroupant l'ensemble des mesures à prendre.
Parmi celles-ci :
- la balise Meta : <meta http-equiv="Content-Language" content="en" />
- déclarer la langue dans le header, via php : <?php header('Content-Language: en'); ?>
Pour la petite histoire, l'élément <html...> ne fait pas partie de la Déclaration de Type de Document (DTD). Et la DTD proprement dite est totalement indifférente à la langue du contenu.

Je dis ça au cas où quelqu'un se dirait qu'il faut modifier le "EN" présent dans la DTD en fonction de la langue du document : il n'a aucun rapport et ne doit être modifié en aucun cas.
Laurent Denis a écrit :
Pour la petite histoire, l'élément <html...> ne fait pas partie de la Déclaration de Type de Document (DTD). Et la DTD proprement dite est totalement indifférente à la langue du contenu.

Je dis ça au cas où quelqu'un se dirait qu'il faut modifier le "EN" présent dans la DTD en fonction de la langue du document : il n'a aucun rapport et ne doit être modifié en aucun cas.

Une fois j'avais fait cette erreur Smiley lol Evidemment comme ça validait super, j'avais laisser le FR à la place du EN. Jusqu'au jour où j'ai pu lire que c'était en fait la langue dans laquelle était rédigée la DTD Smiley smile