Voici un message que je viens d’envoyer sur la liste de diffusion du Groupe de Travail sur l’Accessibilité (GTA) de l’association Braillenet, je pense qu’il est intéressant de vous en faire profiter par la même occasion.
Bonjour,
Les éléments B et I sont un vieux troll dû à de nombreuses incompréhensions, y compris ou à commencer par la définition du HTML sémantique au sein du W3C, c’est à dire de l’industrie, où les gens ont beaucoup de mal à se comprendre.
Ce qui en ressort, et qui est illustré notamment par HTML5, est que :
- Non, B et I n’ont jamais été dépréciés (c’est aisé à vérifier)
- Non, B et I n’ont jamais été des éléments de présentation non plus.
- La sémantique de B et I est très spécifique et ne concerne que très peu de projets Web.
En effet, il y a une sémantique du gras et de l’italique, ou plus exactement véhiculée via le gras et l’italique, dans différents contextes, associés à la typographie. Celui des références bibliographiques est l’exemple le plus courant (mettre de l’italique dans une ref est loin d’être dénué de sens). Cela ne veut cependant pas dire qu’HTML doit créditer comme sémantique toutes les bizarreries des règles typographiques de l’imprimerie Nationale en France, ou d’autres institutions ailleurs.
Bref, pour être concret:
- B et I n’ont jamais été des éléments de présentation
- B et I n’ont jamais été des éléments dépréciés.
- ce qui peut être véhiculé via B et I peut souvent mais pas toujours être véhiculé via un balisage plus spécifique.
- Dans certains cas, ce n’est pas possible et B et I sont des éléments sémantiques probants. Par exemple, mettre en italique un taxon (donc en latin ) est une information en soi, par exemple, dans un contenu zoo ou bio logique.
L’acquis (énorme) d’Accessiweb version 1.1 est que B et I ne sont plus proscrits : les gens qui en ont besoin et savent comment s’en servir peuvent le faire et avoir le label. Les gens que cela ne concerne pas n’ont pas pour autant les moyens de comprendre l’usage de B et de I, mais cela ne les empêche pas d’obtenir le label.
WCAG2.0, et à sa suite le RGAA dont la prochaine version est actuellement en gestation, ne disent sagement rien de B et de I.
C’est une bonne chose que l’obtention du label ne soit plus conditionnée par ce point.
Le problème, c’est que même les exemples donnés dans cet email sont incorrects :
− « Celui des références bibliographiques est l’exemple le plus courant » : non, HTML5 prévoit explicitement l’utilisation de <cite> dans ce cas ;
− « Par exemple, mettre en italique un taxon (donc en latin ) est une information en soi, par exemple, dans un contenu zoo ou bio logique. » Non, le taxon devrait être signalé par un span de changement de langue (<span lang= »la »>), et donc est accessible à la mise en forme via les CSS (et on devrait même pouvoir lui adjoindre de la sémantique à coups de RDFa).
Cela étant dit, effectivement, la majorité des CMS est incapable de permettre cela simplement, et on est donc obligés de se rabattre sur ces contournements bien pratiques !
(c’est vrai que c’est un troll cette question ^^)
Oui, mais non, c’est un petit peu plus compliqué que cela (Let’s feed the troll).
* cite est en effet pertinent dans le projet HTML5 actuel pour les titres d’ouvrages. Mais que faire en XHTML1.0 ou en HTML4.01 ? Bwa… utiliser I : s’il n’y a pas citation (Q, BLOCKQUOTE) en HTML4.01/XHTML1.0, il n’y pas de CITE qui vaille.
* taxon: <i lang= »la »> relève de l’évidence dans le même cadre technique. Si la mise en forme (l’italique) est considérée comme ayant une valeur sémantique (et là, pour le coup, la lecture d’HTML5 est éclairante), alors elle ne relève pas de CSS, justement.
Ah oui mais non. D’ailleurs suivant le support ou la langue on ne s’en sert pas de la même façons ou on peut remplacer l’un par l’autre.
Le gras ou de l’italique sont de la présentation, c’est ainsi qu’ils sont définits. La recommandation HTML4 est claire à ce sujet, le dictionnaire aussi.
Il y a une façon bien claire de savoir si c’est un élément de présentation ou un élément de sens. Si je rencontre cet élément quelque part dans un texte, sans comprendre le texte, quel sens puis-je lui donner ? Le truc c’est que je ne peux pas répondre à cette question, l’élément n’a donc pas de sens attaché (ou trop de sens possibles, ce qui revient au même).
Par contre parfois la présentation peut avoir un sens connu et acquis. Personne n’a affirmé que la présentation n’était pas porteuse de sens. C’est là qu’on entre dans la typographie, mais ça n’en est pas moins de la présentation.
Mais dans ce cas on peut en dire autant pour la balise « big ». Un texte en gros (ou souligné), c’est un titre.
Si personne n’argumente pour « big » c’est qu’on a aussi un élément « h1 ». Ce n’est pas tant que « i » a du sens en soi, c’est qu’il n’y a pas de balise spécifique pour les fonctions qu’on lui réserve habituellement, donc l’utiliser est légitime (à défaut de mieux).
Alors soit on ajoute des balises sémantiques mais sans présentation pour chaque usage légitime de l’italique, soit on accepte de mettre de la présentation dans des cas bien spécifiques et légitimes.
Je n’ai absolument rien contre la seconde option tant qu’elle faite à raison. On a besoin de ces éléments, ils ne sont pas dépréciés. Mais au lieu de leur nier leur rôle de présentation, assumons simplement que parfois par simplicité, par habitude, ou à défaut de mieux, on véhicule des choses par la présentation, voilà tout (et c’est potentiellement très bien comme ça).
Allez, réfléchissons (un dimanche soir, t’es vache).
Je viens de retourner voir CITE, tu m’inquiètes en disant qu’un élément CITE ne doit pas exister sans Q ni BLOCKQUOTE.
Et je lis là : http://www.w3.org/TR/html401/struct…
Et j’en déduis que non, CITE peut exister sans Q ni BLOCKQUOTE.
Ouf.
Sur le fond, je ne me bats pas avec les B et les I, donc bon, on est à peu près d’accord.
En clair, moi je tolère les B liés à l’usage, par exemple souvent les gens mettent en gras le nom de leur marque, et j’ai peur qu’un jour une revue d’écran ne se mette à accentuer les STRONG si on avait remplacé systématiquement B par STRONG comme on le faisait pas mal il y a un moment.
Pour les I, je n’ai pas encore trouvé d’endroit où ils étaient nécessaires, mais je note ton idée du taxon. Pour ma part, je balise les locutions étrangères comme ça : <span class= »locution » lang= »la »>, et ma CSS met en gras. Mais je suis un pervers du même acabit que toi, et ça fait un moment que je me dis qu’un <i lang= »la »> ferait tout aussi bien l’affaire. Pour autant je ne m’y résous pas, je ne sais plus trop dire pourquoi, d’ailleurs…
<i lang= »la »> n’est pas accessible, je pense, tandis que <span lang= »la »> est censée être compris par les synthétiseurs vocaux.
Libre fan : non non, on peut mettre des attributs lang sur les balises qu’on veut.
(d’ailleurs depuis cette discussion j’ai cessé de me fatiguer et j’ai remplacé définitivement les span class= »locution » par des i)
Pervers paresseux, en somme 😀
Wééé, un troll 🙂
Je complète cet intéressant billet par un simple témoignage d’usage :
– je me passe complétement de B (sauf par fainéantise d’intégratrice, rare, quand j’ai besoin d’une balise pour encapsuler un tout petit truc pour le styler, par exemple le poids d’un fichier dans une liste de doc à télécharger…)
– en grande maniaque, j’emploie systématiquement CITE pour les titres (cf.: http://romy.tetue.net/des-citations…) sans confondre la balise et l’attribut homonyme 😉
– et… j’ai adopté le <i lang= »la »>, plutôt que le SPAN, pour signaler les changements de langue au fil du texte, que ceux-ci soient stylés en italique conformément aux <cite>Règles Typographiques en usage à l’Imprimerie Nationale</cite>, ou pas. Pourquoi ? parce que c’est plus rapide à écrire. Et je m’y résoud finalement assez bien 🙂