5568 sujets

Sémantique web et HTML

Bonjour tout le monde Smiley lol

Je suis en train de mettre la touche finale à un système que j'ai conçu pour qu'il soit accessible, valide et sémantiquement correct au maximum de ses capacités et quel que soit le niveau de l'utilisateur, seulement je ne sais pas si c'est le temps que je passe dessus ou bien mon acharnement à vouloir rendre ce soft parfait mais là je suis face à une question qui me travaille sans cesse...

En effet sachant que le menu de ce soft est de cette forme:

a écrit :
Rubrique1
link #1
link #2
link #3
link #4
Rubrique 2
link #1
link #2
link #3
link #4


Je me trouve face à un dilemne... devrais je plutôt utiliser une structure xHTML avec des <dl><dt><dd> comme ceci:
<dl>
<dt>Rubrique1</dt>
<dd>link #1</dd>
<dd>link #2</dd>
<dd>link #3</dd>
<dd>link #4</dd>
<dt>Rubrique2</dt>
<dd>link #1</dd>
<dd>link #2</dd>
<dd>link #3</dd>
<dd>link #4</dd>
</dl>


Ou bien une structure xHTML avec des <ul><li> comme ceci:
<ul>
<li>Rubrique1
<ul>
<li>link #1</li>
<li>link #2</li>
<li>link #3</li>
<li>link #4</li>
</ul>
</li>
<li>Rubrique2
<ul>
<li>link #1</li>
<li>link #2</li>
<li>link #3</li>
<li>link #4</li>
</ul>
</li>
</ul>


Merci par avance de vos conseils Smiley cligne
Modifié par masterjmc (19 Apr 2005 - 10:45)
Je pense que techniquement l'un n'est pas mieux que l'autre.

Par contre il me semble qu si on vire les feuilles de style (rendu par défaut), ou bien dans un navigateur texte, tes simples ul imbriqués passeront nettement mieux pour faire comprendre à l'utilisateur "ceci est un menu".

Mais je me trompes peut être Smiley rolleyes

<h*>Rubrique</h*>
<ul>
  <li><a>link #</a></li>
  <li><a>link #</a></li>
  <li><a>link #</a></li>
  <li><a>link #</a></li>
</ul>

<h*>Rubrique</h*>
<ul>
  <li><a>link #</a></li>
  <li><a>link #</a></li>
  <li><a>link #</a></li>
  <li><a>link #</a></li>
</ul>
Salut Olivier Smiley biggrin

J'ai déjà testé ta solution et le désavantage c'est qu'elle m'oblige à englober l'ensemble du menu dans une balise <div> supplémentaire et après plusieurs test il s'est aussi avéré que dans l'éventualité d'une css destinée à avoir un menu à l'horizontale les balises de titres se montraient assez génantes...

Salut TriadPtale Smiley biggrin

En fait j'ai pensé à cette éventualité et après plusieurs tests dans les navigateurs qui me sont accessible on perçoit clairement que l'élement est un menu...

Plus généralement, pour préciser ma question et mes doutes c'est surtout la légitimité sémantique de l'utilisation de ces 2 balisages pour la conception d'un menu à catégorie qui me pose problème Smiley smile
Ajouter un <div> ? Et alors Smiley langue c'est fait pour ça nan !
Ca fait pas plus de code que les <dl> ou les <ul> imbriqués.

Pour l'horizontal, j'ai déjà utilisé ce type de code, j'avais pas eu de soucis, je comprend pas ce qui te bloque Smiley ohwell (les CSS permettent de modifier n'importe quoi n'importe comment Smiley lol )
Enfin tu fais comme tu veux ! Mais ça me parait la solution la plus correcte et la plus qualitative, après ça n'engage que moi.
Le fait est que <ul> est déjà un conteneur, et comme je veux faire au plus simple je veux utiliser une structure particulièrement dédiée à réaliser un menu et non pas une astuce quelconque, c'est en partant de ce principe que j'ai proposé les 2 structures que j'ai cité Smiley lol
TriadPtale a écrit :

Par contre il me semble qu si on vire les feuilles de style (rendu par défaut), ou bien dans un navigateur texte, tes simples ul imbriqués passeront nettement mieux pour faire comprendre à l'utilisateur "ceci est un menu".



Sincèrement je ne crois pas. Ce qui permet de régler cette question c'est plutôt :

<hn>Menus</hn>
<dl>
<dt>Rubrique1</dt>
<dd>lien1.1</dd>
etc...

ou

<hn>Menus</hn>
<h(n-1)>Rubrique1</h>
<ul>
<Li>lien1.1</li>
etc...
Wé mais là y a pas d'astuce Smiley rolleyes
<ul> n'est une conteneur QUE des liens, pas du titre de rubrique.

Si on compte les balises, c'est aussi simple en imbriquant des listes qu'avec des <div> et <h*>


<div> <!-- 1 -->
<h*></h*> <!-- 2 -->
<ul> <!-- 3 -->
<li>...</li>
</ul>
</div>



<ul> <!-- 1 -->
<li>Rubrique1 <!-- 2 -->
<ul> <!-- 3 -->
<li>...</li>
</ul>
</li>
</ul>


Je comprend pas trop ce qui te bloque en fait Smiley ohwell
Mais si tu es persuadé de ce que tu fais, c'est qu'il n'y a pas de question à poser Smiley lol