Listes d’actions

Je suis souvent amené de part mon métier, à construire des pages HTML. Récemment, j’ai eu à coder un site avec la présence de nombreuses actions au sein de la page :

  • imprimer ;
  • masquer ;
  • télécharger ;
  • etc.

Jusqu’à présent, voici le code que j’employais :

    <p><a href="#action">Action</a></p>

Action

Vous aussi ?

Oui mais…

  • On utilise un paragraphe pour n’y placer qu’un seul mot, pas une phrase. Ça me semble peu justifié.
  • La structure ne permet pas d’ajouter facilement d’autres actions.

Une solution ?

Voici ce que j’expérimente maintenant :

    <ul>
        <li><a href="#action">Action</a></li>
    </ul>

J’entends déjà STPo (toujours lui) me dire qu’il n’est pas fan des listes composées d’un seul élément… mais si on y réfléchit, pourquoi ?

Qu’est-ce qui est si illogique ? Effectivement il s’agit d’une liste… mais pourquoi ne pourrait-elle pas ne comporter qu’un élément ?

Ça sent le débat stérile, je sais bien…

J’ai en tout cas l’impression d’avoir trouvé une structure plus logique et plus extensible pour ce schéma.

Pas vous ? D’autres solutions ? Des inconvénients ?


6 commentaires ↓

#1 Yves le 05.12.08 à 20:22

Absolument de ton avis, la structure est beaucoup plus flexible, extensible et maintenable.

Un site web a tendance à évoluer, et il faut penser le développement en temps que tel, et non pas au présent.

Vu qu’il s’agit d’actions interactives (« imprimer », « masquer »), une liste pourra accueillir un nombre infini d’éléments qui se verront structurés, et non perdus et enfilés dans un paragraphe encombré.

#2 STPo le 05.12.08 à 21:40

Les listes composées d’un seul élément, c’est nul.

Cela étant, plusieurs remarques à chaud :

  • « Jusqu’à présent, voici le code que j’employais : <p><a href= »#action »>Action</p>. » C’est pas correct hin 20cent, il est où mon </a> ? =D

  • Idéalement, pas mal de liens genre « imprimer », « masquer » sont générés 100% en JS et absents du code source (puisque nécessitant justement une « action » côté client), par conséquent j’ai tendance (peut-être à tort) à penser que la sémantique appliqués à ces derniers n’est pas des plus cruciales.

  • Malgré ces réserves parfois purement arbitraires, je suis plutôt d’accord avec l’idée de la liste (mais seulement si elle comporte au moins deux éléments, ha ha).

#3 Vincent le 05.12.08 à 22:15

Merci pour la remarque, je corrige. 😉

Et donc, tu passes de la première solution à la deuxième en fonction du nombre de liens au final ? Un peu chiant non ?

#4 Etienne le 05.13.08 à 9:20

ok c’est bien mignon mes lapins mais non pas du tout.

pour moi une liste est un ensemble d’élément(s). De pars sa définition, une liste doit être souple et mise a jours selon un ratio fréquent. Selon moi (oui je sais c’est pas un gros selon), il est logique qu’une liste ne possède qu’un seul élément dans la mesure ou potentiellement elle implique cette notion d’évolution, de changement et de mise a jours.

En ce qui concerne les actions js, je suis de l’avis de ess-té-pé-ho, elles doivent être incluse dans le code html au chargement de la page.

Quoi que concernant l’impression, si le js est désactivé, il est possible de laisser un lien « imprimer » redirigeant vers une page d’explication des fonctions d’impression des navigateurs les plus répandus, sinon, on print();

Cependant je ne crois pas que ça se fasse beaucoup… et je dis encore peut-être une bétise sur cette façon de voir les liens d’impression ! ! !

#5 Etienne le 05.13.08 à 9:21

20 cents, je suis ton plus grand fan ! ! ! 😉

il est coule ton blog mec

#6 Vincent le 05.13.08 à 10:24

Ahah Etienne. Merci ! :)

Tout à fait d’accord avec vous pour la partie JS, mais je ne voulais pas tout mélanger sur le billet.


Laisser un commentaire

Mise en forme : vous pouvez utiliser la syntaxe Markdown. Vous verrez, c’est chouette !