5035 sujets

Sémantique web et HTML

Bonjour à tous
J'ai des titres bilingues français/anglais, du genre:
Titre en français - Title in English (sur la même ligne)
Je me demande quelle est la meilleure façon d'écrire cela en HTML

<h2 lang="fr">Titre en français</h2> - <h2 lang="en">Title in English</h2>
avec bien entendu le CSS qui va bien
ou

<h2><span lang="fr">Titre en français</span> - <span lang="en">Title in English</span></h2>

ou encore quelque chose d'autre auquel je n'ai pas pensé?
Merci de vos avis
Modifié par PapyJP (04 Jan 2016 - 08:58)
A priori je ne déclarerais l'attribut lang uniquement pour le texte qui n'est pas dans la langue du document, l'autre étant déjà 'déclaré' par défaut.
gc-nomade a écrit :
A priori je ne déclarerais l'attribut lang uniquement pour le texte qui n'est pas dans la langue du document, l'autre étant déjà 'déclaré' par défaut.

Mais justement le document étant bilingue, il n'y a pas de langue déclarée par défaut.
Pour l'instant j'ai choisi

<article class="..">
    <h2 lang="fr">...</h2><h2 lang="en">...</h2>
    <p lang="fr">...</p>
    <p lang="en">...</p>
</article>

ça semble marcher correctement.
Il faut simplement éviter de mettre un espace ou un "aller à la ligne" entre </h2> et <h2...>
a écrit :
Mais justement le document étant bilingue, il n'y a pas de langue déclarée par défaut.


Normalement, il y en a toujours une et une exactement, même si elle n'est pas déclarée.

C'est donc bien gc-nomade qui a raison, techniquement, en admettant que la langue par défaut est le françAis, la bonne forme devrait être ressemblante à :
<h2>Titre de la page <span lang="en">Page title</span></h2>

Ceci dit, il me semblais avoir déjà pu lire que ce n'était pas une bonne idée du point de vue référencement d'avoir des sections entières de page dans plusieurs langues différentes. Je n'ai plus la source évidemment. Mais si c'est des articles complets, ne vaudrait-il pas mieux que les articles dans des langues différentes soient sur des pages séparées ?
A priori, si j'en crois les articles parus sur le web / ouvrages et spécifications, le principe est bien :
- 1 langue majeure (déclarée dans les HTTP headers mais surtout la balise <html>)
- une identification ponctuelle des passages linguistiquement différents avec l'attribut @lang

Si la page est 50 / 50 français et anglais, il est peut-être préférable, effectivement, de dissocier tout ceci en deux pages distinctes ce qui diminuera leur poids respectif et sera, à mon avis, plus clair pour le lecteur.
A noter que les liens externes (balise <link>), s'ils pointent vers une ressource de langue différente, doivent de préférence comporter un attribut @hreflang correspondant à cette langue.
a écrit :
Si la page est 50 / 50 français et anglais, il est peut-être préférable, effectivement, de dissocier tout ceci en deux pages distinctes ce qui diminuera leur poids respectif et sera, à mon avis, plus clair pour le lecteur.


J'ajoute à ce que j'ai déjà dit que personnellement, même si je peux lire aussi bien l'anglais que le français, j'ai horreur des pages à moitié traduites et/ou avec des articles mélangés. A la base l'attribut lang a été effectivement prévu pour des passages très ponctuels.

Donc sauf dictionnaires et assimilés, j'éviterais vraiment le 50/50.
Merci de vos conseils

Je suis bien d'accord qu"un document bilingue n'est pas la chose à faire en règle générale.
Malheureusement je ne peux pas faire grand chose au fait que le bulletin mensuel du site est fait de cette façon depuis octobre 2001, à la satisfaction apparente des utilisateurs (plusieurs milliers de lecteurs).
Il s'agit d'une revue de presse. Les lecteurs pour la plupart savent lire plus ou moins à la fois le français et l'anglais. Les textes français et anglais ne sont pas des traductions, mais des commentaires visant à inciter le lecteur à lire les articles orignaux vers lesquels pointent des liens, avec un résumé plus fourni sur le sujet dans "l'autre langue".
L'objectif en ajoutant une propriété "lang" est simplement de favoriser le référencement, pas de faire une révolution que personne ne demande. Nous avons constaté en effet que lesdits articles ont l'air d'être mieux référencés par Google quand on fait des recherches en français qu'en anglais.
Modifié par PapyJP (05 Jan 2016 - 11:24)
Ah, ben dans ce cas contentes-toi de marquer avec lang=XX les passages/blocs qui ne sont pas dans la langue par défaut. Dommage mais bon, si tout le monde est content depuis 2001...

La langue principale définie en en-tête HTTP et en attribut de <html> sera quand même toujours mieux référencée que l'autre, ça tu ne pourras que difficilement influer à mon avis. Vu que tout le monde parle anglais, mieux vaut conserver le français comme langue principale.