Bonjour,
Mike RKL a écrit :
C’est d’ailleurs un peu le problème avec l’utilisation du mot sémantique dans le xhtml.
Le problème n'est à vrai dire que dans le regard de ceux qui le voient.
Il est établi que HTML a une sémantique pauvre, avec un nombre d'éléments limité. Il ne permet pas de qualifier sémantiquement les dates, les titres d'ouvrages (
cite est trop vague/mal défini...), les prix et tarifs, le second degré, etc.
Il n'y a de problème que si on prend les choses à l'envers, c'est à dire si l'on part du contenu et d'une notion vague de «le marquage sémantique, c'est bien», et que l'on cherche à trouver un marquage sémantique spécifique pour chaque élément ou structure de contenu. C'est une gageüre.
En conclusion: ne pas se focaliser maladivement sur la sémantique du contenu, mais partir des possibilités de HTML pour baliser raisonnablement ses contenus.
Dans le cas qui nous concerne, on donnera donc la réponse suivante:
- les années auront intérêt à être des titres de section (hN);
- le couple date/évènement et description de l'évènement peut ne pas être balisé (tout dans un
p ou dans un
li... plutôt un
li), ou bien être placé dans un tableau à deux colonnes (dates et évènements), ou bien dans une liste de définition... ça n'a pas une très grande importance.
Note à propos de l'utilisation des listes de définition: ça passe encore ici, mais c'est une utilisation plutôt abusive. «Découverte de l'Amérique» ne qualifie pas «12 octobre 1492» par exemple. Par contre, l'inverse pourrait être vrai. On pourrait sans doute utiliser une liste de définitions avec la structure suivante:
<dl>
<dt>Nom de l'évènement 1</dt>
<dd>Date de l'évènement 1</dd>
<dd>Descriptif de l'évènement 1</dd>
<dt>Nom de l'évènement 2</dt>
<dd>Date de l'évènement 2</dd>
<dd>Descriptif de l'évènement 2</dd>
</dl>
Mais bon, ça n'est pas très important.
Pour ma part, je vote pour une structure pas prise de tête:
<hN>Année</hN>
<ul>
<li><strong>Date:</strong> évènement</li>
<li><strong>Date:</strong> évènement</li>
<li><strong>Date:</strong>
<ul>
<li>Premier évènement pour cette date</li>
<li>Deuxième évènement pour cette date</li>
</ul>
</li>
<li><strong>Date:</strong> évènement</li>
</ul>
Si on a plusieurs évènements pour une date, on peut aussi choisir de juste passer à la ligne, et ne pas s'embêter avec des listes imbriquées pas forcément utiles.