Il n'est pas toujours facile, quand on conçoit un site web, de ménager un ensemble de contraintes telles que simplicité de maintenance, accessibilité, compacité du code, esthétique et compatibilité avec tous types de navigateurs (y compris les assistants personnels et les navigateurs texte utilisés avec une plage Braille). Un des points les plus critiques concerne les menus dynamiques. Eric Meyer, sur son CSS/Edge avait défriché le terrain des menus sous forme de listes, mais ça n'était qu'une approche expérimentale. Dave, de Gazingus.org, a poussé plus loin le concept en le rendant utilisable au quotidien. En voici le cahier des charges :

  1. Utiliser des balises appropriées : <ul> plutôt que <div> et <table>.
  2. Se dégrader joliment dans les anciens navigateurs : tous doivent pouvoir utiliser le contenu du menu.
  3. Utilisation minimale de JavaScript: se focaliser sur les navigateurs conformes au DOM pour ce qui est de la fonctionnalité dynamique; éviter le recours à une API DHTML qui serait trop volumineuse à télécharger.