Bonjour à tous,

Les tutoriels alsacreations sont plutôt bien faits et complets. Aussi, je me demande si le problème que j'ai est soluble en l'état.

Comme dit dans le titre, j'aimerais utiliser le menu avec commentaires au survol (pur CSS) présenté dans le tuto du même nom, mais en remplaçant les commentaires par des liens (donc des balises a) afin d'avoir un second niveau de menus.

Le "hic" est que le masquage des zones s'appuie sur les balises a.
J'ai donc modifié un peu la feuille de style afin de donner une classe aux liens du menu, et de jouer sur les héritages. Mais si le menu fonctionne toujours très bien après ces modifs, il ne me permet toujours pas d'inclure des liens dans la zone "commentaires".

Les <a></a> contenus dans la zone définie par <span></span> semblent extraits de cette zone et placés ensuite, avant l'item suivant du menu.

Auriez-vous une piste pour résoudre ce problème ? S'il est soluble... bien sûr, et dans le cas inverse (impossible), votre avis m'intéresse aussi.

D'avance merci,

François
francois-web a écrit :
Auriez-vous une piste pour résoudre ce problème ?

Oui : laisser tomber.

Une fois qu'on aura laissé tomber ces bidouillages (les vôtres) qui rendent complètement affreux un procédé déjà contestable (le tutoriel), on pourra se pencher sur deux choses :
1. la notion de « menu déroulant » (abondamment traitée sur le net, et même dans un vieux tutoriel Alsacréations assez peu probant) ;
2. la réflexion selon laquelle les menus déroulants ne sont pas forcément une bonne idée, que l'on pourra lire ici : L'accessibilité des menus de navigation en cascade.

Bonne lecture et, si cet article ne vous a pas dissuadé d'utiliser des menus déroulants, bonne recherche.
Modifié par Florent V. (28 Mar 2007 - 16:45)
a écrit :
Oui : laisser tomber.

Je note. En l'état, laisser tomber revient à réintégrer le menu javascript qui assurait exactement la même chose de la même façon, avec quelques inconvénients supplémentaires par rapport à la "chose" CSS.

a écrit :
Une fois qu'on aura laissé tomber ces bidouillages (les vôtres) qui rendent complètement affreux un procédé déjà contestable (le tutoriel)

Quelques explications supplémentaires, quelques mots-clef, donneraient certainement un sens à ces assertions pour le moins abruptes, fussent-elles totalement justifiées. Je n'ai aucune prétention sur le sujet, sinon apprendre ce que j'ignore. Les pistes fournies par la suite réorientent mais n'expliquent pas les points précédents. Elles ont par ailleurs été précédemment explorées, visiblement de façon imparfaite...

Je n'ai, pour ma part, aucune affection particulière pour les menus déroulants. Le fait est que le site existe, et que pour le moment, il n'est pas prévu d'en retoucher la maquette ou la structure sans quoi la question serait caduque.

Bien à vous.
Modérateur
Hello,

francois-web a écrit :
Je note. En l'état, laisser tomber revient à réintégrer le menu javascript qui assurait exactement la même chose de la même façon, avec quelques inconvénients supplémentaires par rapport à la "chose" CSS.
Lesquels ? A priori, Javascript est plus adapté... Reste à le faire correctement, en effet.

a écrit :
Quelques explications supplémentaires, quelques mots-clef, donneraient certainement un sens à ces assertions pour le moins abruptes, fussent-elles totalement justifiées. Je n'ai aucune prétention sur le sujet, sinon apprendre ce que j'ignore. Les pistes fournies par la suite réorientent mais n'expliquent pas les points précédents. Elles ont par ailleurs été précédemment explorées, visiblement de façon imparfaite...
La sémantique ne me semble pas correcte. Elle est faite pour répondre à une attente visuelle, ce qu'il faut éviter.

CSS est dédié à la mise en page, pas au comportement. Lorsqu'on survole un élément, on génère un comportement... C'est le rôle de Javascript, plus adapté à cette tâche. En revanche, la mise en page, donc le positionnement et la mise en forme des éléments, sera bien faite via CSS.
Pour le survol, le tutoriel dit le contraire... d'où les limitations.

Lorsqu'on se sert du positionnement absolu, on prend le risque de superposer les textes. Si quelquechose se trouvent sous les commentaires, cela devient inaccessible en cas de désactivation des couleurs... CSS ne peut pas palier à ce problème... Javascript, si.

L'actuel menu ne prend pas en compte la navigation clavier... Un utilisateur qui n'a pas d'autres choix ne pourra donc jamais accéder aux commentaires.

Un menu déroulant est un obstacle supplémentaire ; l'utilisateur doit veiller à bien survoler la zone, faute quoi la zone qui vient d'apparaître disparait.
Pour quelqu'un qui souffre de tremblement, c'est souvent impraticable. Souvent, on se sert de Javascript pour instaurer une temporisation empêchant cette disparition subite et non souhaitée.
Par ailleurs, certains utilisateurs auront bien du mal à comprendre la structure du menu.

a écrit :
Je n'ai, pour ma part, aucune affection particulière pour les menus déroulants.
Mieux vaut en faire une aversion.

a écrit :
Le fait est que le site existe, et que pour le moment, il n'est pas prévu d'en retoucher la maquette ou la structure sans quoi la question serait caduque.
Il est préférable de revoir cette maquette, celle-ci ayant sans doute été élaborée sans avoir été sensibilisé au préalable à ce genre de problèmes.

a écrit :
Elles ont par ailleurs été précédemment explorées, visiblement de façon imparfaite...
Le menu déroulant parfait n'est pas né et je doute que quelqu'un puisse y arriver. On ne peut les faire qu'en instaurant des limites mais on peut aussi les éviter, ce qui semble bien plus raisonnable vu le temps que ça demande. Smiley cligne
Merci pour ces réponses posées qui clarifient quelque peu les points restés précédemment en suspens. Je connais (dans d'autres domaines) les problématiques de normalisation, l'intérêt (dont je suis convaincu) mais aussi les limites de ces systèmes.

Les questions d'accessibilité n'ont pas été prises en compte lors de la création du site, c'est clair. Un travail effectué depuis a été de retravailler le contenu des pages (suppression des tableaux, conformité du code) tout en conservant l'apparence existante.

Modifier la forme du menu revient à repenser les pages, voire en rajouter. Je n'ai pas la maîtrise des décisions concernant cette partie. Lorsque les autres partenaires seront prêts, les modifications seront faites en ce sens (sans menus déroulants en particulier). Mais c'était déjà le projet avant ce message.

De plus, il semblerait que nombre d'internautes surfent avec javascript désactivé, d'où les recherches alternatives.