C'est un vaste sujet, que le menu déroulant sémantique et accessible. A une époque pas si lointaine, on utilisait l'ignoble (et payant) HierMenu, un machin tout en JavaScript, qui n'a supporté le DOM du W3C que très tardivement, et dont j'ignore tout en terme d'accessibilité. De nombreux sites souhaitant disposer de menus dynamiques tout en s'orientant vers des solutions plus sémantiques, plus faciles à maintenir, et aussi plus accessibles cherchaient une alternative. Parallèlement, le support des CSS dans les navigateurs s'est grandement amélioré, et la connaissance même de cette technologie s'est approfondie. Du coup, des solutions bien plus élégantes sont apparues pour les menus dynamiques.

  • Eric Meyer, dans le cadre de CSS/Edge, nous a fait le coup du savant fou, découvrant de nouvelles possibilités dans CSS, avec ses Pure CSS menus. Comme tous ces machins informes directement issus d'un labo, c'était prometteur, mais pas utilisable dans la vraie vie.
  • Dès novembre 2002, je parlais de l'effort de Dave Gazingus pour faire des menus sémantiquement corrects mais plus robustes.
  • A peu près au même moment, BrainJar nous offrait la revanche de la barre de menus, qui méritait elle aussi le détour.
  • Début 2003, avec Bob Clary et Eric Meyer, nous nous posions la question d'un menu dynamique, toujours reposant sur des listes de liens, mais encore plus robuste. Le résultat de nos efforts ont donné le redesign de DevEdge, site prometteur qui n'est plus mis à jour :-/. Il n'en reste pas moins que Bob avait pris le temps d'écrire un article documentant notre variante.
  • Une synthèse francophone de ces techniques s'imposait, et c'est Fabrice Bonny qui s'y collait, avec son menu universel (note : il semblerait que coté accessibilité pour les mal-voyants, des progrès soient encore nécessaires).

Pourtant, il faut croire que le sujet n'a pas été totalement creusé, si j'en crois mon courrier des lecteurs, les cellules grises continuent de turbiner à plein régime pour trouver l'ultime solution à cet Eldorado de l'utilisabilité et de la sémantique réunis. Deux exemples :

Enfin, un autre lecteur, Etienne, démontre que la problématique des menus est tellement complexe qu'elle avait obligé les concepteurs de logiciels de menu de concevoir un pseudo-langage de description des menus, avec des outils chargés de générer via une interface homme-machine, les dites descriptions de menu. Et ça donnait des machins aussi monstrueux que cela. Mais le DOM est arrivé, avec la possibilité de manipuler des documents en mémoire. Et Etienne s'est empressé de faire une application semblable à la précédente, mais dans l'optique des menus sémantiques. Aussi, l'outil génère tout simplement des listes. Et en terme d'utilisabilité, c'est autre chose. Bravo !