Vous avez déjà sans doute vu sur un site un « nuage d’étiquettes » — tag cloud en anglais — représentant la liste des sujets abordés, en mettant en avant les sujets les plus courants par un effet de grossissement.
Si ce n’est pas le cas, voici un exemple de tag cloud sur Flickr, qui représente les tags les plus utilisés depuis le lancement du service :

Sur Gastero Prod, j’ai mis en place ce mécanisme assez astucieux de listage des thèmes abordés, à la fois dans la colonne de navigation, et sur une page dédiée aux tags :

Sur cette page, je peux lister les tags par ordre alphabétique, ce qui est l’usage classique, mais aussi par ordre d’importance, c’est à dire selon le nombre d’articles auxquels ils sont associés, ce qui est plus pratique sans doute pour les utilisateurs de synthèses vocales ou autres outils non graphiques de navigation.
C’est que je m’interroge justement sur la façon optimale de rendre accessible ces fameux tag clouds.
La plupart des solutions implémentées ne sont à mon avis pas satisfaisantes de ce point de vue, pour différentes raisons :
Certains n’utilisent tout simplement pas des éléments de type listes — <ul> ou <ol> [1] — pour lister les tags, mais se contentent de mettre les tags les uns après les autres.
Certains utilisent bien des listes, mais jouent sur l’importance relative des éléments en affectant directement une taille à chacun, via un attribut style en ligne, ce qui n’apporte aucune information sémantique — et donc plus accessible — d’importance relative.
Certains autres, enfin, apportent un début de sémantisation du contenu en montrant l’importance relative de chaque élément avec des balises <em> imbriqués, mais je ne pense pas qu’une imbrication de plusieurs balises identiques ait un réel intérêt pour l’accessibilité.
Est-ce qu’une synthèse vocale fera la différence entre les deux éléments suivants :
<em><em>tag1</em></em><em><em><em>tag2</em></em></em>Je n’en suis pas sûr...
La meilleure solution que j’ai trouvée à ce jour, c’est d’exploiter le fait que la balise <strong> permet comme son nom l’indique de marquer une strong emphasis [2], alors que la balise <em> a pour objectif de marquer une emphase simple.
Il m’est donc possible de différencier trois niveaux d’importance relative des éléments de ma liste :
<li>tag</li><li><em>tag</em></li><li><strong>tag</strong></li>C’est sûr, c’est moins joli que les solutions qui utilisent beaucoup plus de variantes de tailles, mais au moins c’est censé être plus accessible.
Maintenant que le contenu est relativement accessible, rien n’empêche de rajouter de l’information en plus pour les heureux utilisateurs de navigateurs graphiques, en ajoutant par exemple des informations de taille aux éléments.
Cette information a bien un sens pour ceux qui peuvent l’exploiter, donc je ne pense pas que l’on puisse m’accuser de poluer le contenu avec de la présentation. Parfois, la présentation donne un sens.
<strong><em>tag</em></strong> [3] ?Quoi qu’il en soit, voici une nouvelle preuve que la quête de l’accessibilité est loin d’être simple, et c’est toujours en tatonnant qu’on arrive à déterminer pragmatiquement les solutions les plus pertinentes.
La théorie, c’est quand on sait tout et que rien ne fonctionne.
La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Je vous avais parlé il y a quelque temps de Wordle qui permet de faire de jolis nuages de tags, et voilà qu’aujourd’hui je découvre Textorizer, qui permet lui aussi de mettre en forme des mots, mais de façon plus belle encore, puisqu’en représentant une image.
C’est sans doute très bête, mais ça me fait toujours sourire de voir des petits bugs pas méchants sur des sites ou applications développées par des boîtes de renom genre Apple.
Derniers commentaires
MM sur Catching the sun : 566Comparer les prix de la reproduction de Rolex et des montres authentiques de RolexAu cas où (...)
Mortimer sur Amusons nous avec des boucles SPIP et les petits nouveaux #GET, #SET et #ARRAY : Pour éviter que ça plante quand il n’y a pas de résultat dans la boucle de sélection _sites, il (...)
Clochix sur Wordle fait de jolis nuages de tags : Hello, Avec les transformations CSS3 (qui fonctionnent déjà dans webkit et seront dans FF 3.1) (...)
Oncle Tom sur Textorizer met les mots en images et inversement : Yes le rendu est sympa. De même que les softs recréant une image à partir de milliers d’autres (...)
clochix sur Nouvelle tempête sur les flux RSS, réduisons les intermédiaires ! : Hello, avec du retard parce que justement... je me suis désabonné de tes flux parce que de (...)
Acouphene sur Nouvelle tempête sur les flux RSS, réduisons les intermédiaires ! : Et dire que je viens juste de délaisser FeedBlitz pour FeedBurner... J’espère que je ne vais pas (...)
Vincent sur Faut-il que je revienne à un unique flux RSS ? : Perso j’ai le flux avec uniquement les billets du blog parce que c’est ce qui m’intéresse (...)
NiKo sur Faut-il que je revienne à un unique flux RSS ? : Perso j’aime bien les pages du type de celle de Simon Willison, ça donne tout de même un peu de (...)
Yemek Tarifleri sur Le même agenda que Gastero Prod avec SPIP : bonjour je suis néophyte en ce qui concerne SPIP et je cherche à implementer un module agenda (...)
NiCoS sur Nouvelle tempête sur les flux RSS, réduisons les intermédiaires ! : Et moi qui pensait que c’était lié à des svn update de SPIP... :-P Pas mal en tous cas le (...)