5039 sujets

Sémantique web et HTML

Bonsoir
J'ai des textes avec des citations traduites depuis diverses langues.
Une citation normalement se met dans un balise <q>
Pour indiquer sémantiquement la langue d'origine, y a-t-il à votre connaissance une bonne pratique pour nommer la classe de cette citation, de façon à mettre dans un même style les texte en fonction de la langue d'origine? Genre <q class="en">, <q class="it">, etc.
Je ne peux pas mettre <q lang="en"> pour un texte en français traduit de l'anglais ou <q lang="it"> pour un texte en français traduit de l'italien, car je mettrais en défaut les "renifleurs".

Merci de vos avis et recommandations.
Modifié par PapyJP (16 Feb 2016 - 21:35)
Administrateur
Bonsoir,

pour être bien certain d'avoir compris : il s'agit d'un texte (citation) en français au milieu d'une page en français mais il se trouve que la citation a originellement été exprimée dans une langue étrangère, par ex : "Être ou ne pas être ?"
Dans ce cas, pas d'attribut lang en effet Smiley smile

Note : q pour la citation courte et blockquote pour les citations longues (au moins 1 paragraphe)

Pour le nommage de classes : il s'agit de convention et je préconise "lang-it", "lang-ja", etc si la convention de nommage de classe est déjà de séparer les termes par un "-" (pour les aficionados de la notation BEM, ce serait un double tiret ou double underscore)
L'inconvénient de n'utiliser que le code de 2 caractères comme nom de classes, c'est qu'on peut plutôt facilement avoir un conflit avec une classe existante.
Cas réel : quand Raphaël a voulu dans la dernière version de KNACSS chambouler la classe .right qui correspond maintenant à margin-left: auto et plus float: right. Maintenant float: right c'est la classe ".fr" et ouuups c'est utilisé par un CMS comme SPIP (et sûrement d'autres), un des meilleurs choix de CMS pour les sites... multilingues et puis francophone donc le conflit a été inévitable.

Avantage de lang-* : on peut cibler toutes les classes correspondantes avec [class*="lang-"] (ou ^= si la classe est toujours la première/la seule)
+1 pour la réponse apportée par Felipe, d'après ce que j'ai pu lire jusqu'à présent sur le sujet.
Et pour compléter le raisonnement sur les citations, il faudrait également prendre en compte les guillemets encadrant, ou non, ladite citation.
Quelques précisions utiles à ce sujet dans l'article intitulé Typographie - Les guillemets.
Merci
Je pense que, dans le contexte de ce site, des classes nommées "lang-*" est la bonne approche.
On peut bien entendu affecter ces classes à autre chose que des balises <q>, par exemple à des balises <blockquote>
Noter que pour pouvoir utiliser correctement de telles balises il faut d'abord les "déshabiller" des propriétés CSS dont les navigateurs se croient tenus de polluer les balises. Par exemple <q> est affublé de guillemets, <blockquote> a droit à un margin et parfois à un border-left, et autres joyeusetés...
J'ai donc du mettre toute une section d'annulation en tête de ma page de style en m'inspirant de ce qu'il y a dans KNACSS. Merci à Raohael pour cette contribution à la dépollution de l'environnement!