Dual Blog : DeFr's Weblog

Les listes en (X)HTML : ul, ol, quelle différence ? | mercredi 02 mars 2005, 23h17

Mood: Goggle

La lecture de la spécification HTML 4.01 ne laisse planer aucune ambiguëté, il doit exister deux types de listes : les listes ordonnées ( ol ) et les listes non-ordonnées ( ul ). Etant donné que deux balises existent, il devrait être clair que les deux présentes de radicales différences, qu'il est impossible de confondre l'une et l'autre - mais surtout, si deux balises existent, les deux ont de l'importance. La spécification définie d'ailleurs l'une de ses différences : les listes ordonnées sont numérotées. Cependant, une recherche rapide devrait réveller assez rapidement que tout n'est pas si rose : alors qu'on trouve d'innombrables usages de ul, les cas où ol est utiliser sont nettement moins courants

Une pratique courante dans la conception d'un site web en cherchant à le rendre sémantique est d'utiliser un ul pour la construction de la liste des liens de navigation. L'idée sous-jacente, c'est que les liens forment une liste, et que comme on ne veut pas les numéroter, on n'utilise pas de ol. Ce raisonement n'est pas à la base choquant d'un point de vue rationnel, mais il reste à mon humble avis très lacunaire. En effet, l'argument principal repose sur un aspect présentationnel, donc modifiable en CSS. Ceci doit être d'autant plus en compte que la plupart du temps, les ul employés dans les menus n'ont aucunement l'apparence de liste, la première chose supprimée étant générallement les puces. D'autre part, l'idée étant d'avoir une structure la plus significative possible, je doute qu'un menu soit réellement non-ordonné. Au contraire, la présentation des liens fait souvent l'objet d'une reflexion profonde de la part des webmasters - du moins, de ceux auxquels ce post s'adresse, je ne doute pas qu'il existe des personnes réalisant leur site sous FrontPage Express et jouant aux dés leurs menus de navigation. Par conséquent, je me ferais réellement l'avocat d'une liste ordonnée.

Toutefois, j'irais encore ( nettement ) plus loin : à mon sens, mis à part les cas où la liste est volontairement mélangée après avoir été établi, il n'existe tout simplement pas de liste réellement non-ordonnée. En effet, ne serait-ce que l'établissement primaire d'une liste lui confère un ordre, en lui-même révellateur : il indique l'ordre dans lequel les élèments viennent à l'esprit de la personne établissant la liste en question, et par conséquent ils permettent d'éclairer le processus ayant eu lieu dans la tête de l'auteur. Ce n'est pas forcement ce que l'information que l'on veut convié, mais c'est tout de même intrinsèquement très révelateur. Quant aux listes triés alphabétiquement et pourtant définis avec un ul, il me semble particulierement difficile de défendre l'idée qu'elles ne sont pas ordonnées selon l'ordre lexicographique.

Et pourtant, malgrès toutes ces raisons, il peut m'arriver d'envoyer moi aussi des listes, parfaitement ordonnée, avec un ordre réflechi et mûrement pesé, sous la forme d'un ul. Il existe une explication simple à ce comportement hérétique : la volonté de ne pas obtenir de numéro devant les différents items dans le cas d'un surf avec le CSS desactivé. Ce n'est pas purement sadique une desactivation de ce genre, ca permet de se rendre compte de nombreuses choses telles que l'apparence de la page dans un navigateur texte, l'aspect sémantique de la page par la visualisation des elements mis en avant et d'autres choses probablement totalement ininteressante pour le commun des mortels.

Pour conclure ? Je pense personnellement que la distinction introduite est arbitraire, utilisé actuellement uniquement pour un emploi détourné dont le CSS devrait se charger... et pourtant pour le moment necessaire, puisque les navigateurs n'implementent toujours pas les CSS counters qui permettrait de s'en passer. Toutefois, tout espoir n'est pas perdu, l'implémentation de cette fonctionnalité dans Mozilla semble être en bonne voie - ouvrant les portes d'un monde potentiellement plus sémantique ?

Kévin à 20h17, le jeudi 03 mars 2005
( wha ca r0x vraiment les onfocus :d )

Je suis pas tout à fait d'accord, parce qu'en fait, quand j'établis un menu, y'a en gros le plus important d'abord, c'est à dire un lien vers l'accueil , puis tout une liste de liens divers et variés , et enfin les choses qui arrivent en dernier et qui sont en général les rubriques de Liens et de Contact ... sont elle réellement les moins importantes ? Je ne pense pas, mais on donne d'abord accès aux "services" du site.

Ensuite, dans le cas d'une liste comme pour tes archives, je pense que c'est d'une part redondant et d'autre part faux ! Car la numérotation d'une liste déjà "triée" et "indiquée" par la date, ce serait vraiment redondant, et cela changerait tous les mois ...

Je pense honnêtement que la seule utilisation que l'on peut en faire c'est pour donner une liste de résultats par exemple, dont les plus importants sont tout en haut, et clairement identifiés.

DeFr à 00h31, le dimanche 06 mars 2005
Je pense vraiment qu'il faut faire une distinction importante entre le concept de liste ordonnée et liste numérotée. Le terme liste ordonnée en lui-même n'implique aucunement en lui-même que la liste devrait posseder des numéros, simplement que la liste a été trié. Là ou le lien est fait entre ces deux notions, c'est dans la spécification HTML, qui spécifie que par défaut, les listes ordonnées sont précédées de chiffre.

Cependant, cela ne signifie pas à mon sens que les ol devraient toujours avoir un tel affichage. Les cas ou on affiche un element de facon entierement différente de celle défini par défaut sont nombreux, notamment dans le domaine des listes : dans la plupart des cas, les ul n'ont, une fois stylé, aucunement l'apparence de liste, pourquoi ne pourrait-on faire de même avec des ol ?

Revenir au blog
Vous souhaitez ajouter un nouveau commentaire ? Faites donc, il vous suffit de remplir le petit formulaire ci-dessous.
Sites visités