1178 sujets

Accessibilité du Web

bonjour à tous.
La question est récurrente, mais mes recherches ne m'ont pas permises de trouver une réponse satisfaisante.
J'ai un menu horizontal, dont une des rubriques se déroule verticalement pour dévoiler les sous-rubriques.
Ce menu n'est pas accessible via TAB (les sous-rubriques ne se dévoilent pas).

J'ai trouvé cette solution : http://www.ergonomie-web.be/comment-realiser-un-menu-deroulant-reellement-ergonomique/
qui me semblait intéressante, mais le menu ne se deroule pas si JS desactivé, ce qui rend le site non-navigable.

Existe-t-il réellement une vraie solution pour créer un menu déroulant accessible sur tout ordinateur et tout navigateur ?
Bonjour,

Un menu déroulant accessible, c'est possible. Pour cela (et pour répondre à tes deux problèmes principaux) il faut du JavaScript non intrusif (en gros le masquage des éléments du menu à dérouler se fait avec JS au chargement de la page et non avec CSS) et privilégier les evènement onfocus et onfocusout à onmouseover et onmouseout.

Pour un menu déroulant accessible, il y a le tuto de Thomas.
C'est pas un peu lourd ça ?
Si je comprend bien, il faudrait doubler chacune des pages du site, et de plus il faut compter avec le temps de chargement de la seconde page avant l'apparition des éléments "déroulés".

Je souhaite que le contenu deroulabe s'affiche au survol souris (et donc à la selection clavier) et non au click, donc cette solution ne me parait pas envisageable.

donc, impossible de réaliser ce menu sans JS, à priori ?
merci de vos conseils, je m'en vais donc étudier le tuto de Thomas.
Bonsoir,

Voir du côté de l'excellent travail d'Aurélien Levy dispo à cette adresse : "La recette pour un menu déroulant accessible".

Bien garder en tête que pour être accessible un tel menu doit (en gros) :
- pouvoir être restitué par une synthèse vocale (donc pas de display: none) ;
- pouvoir être utilisé au clavier (focus / blur) en conservant un ordre logique ;
- pouvoir être utilisé même lorsque JavaScript n'est pas disponible (état déplié par défaut).

Bonne continuation.
Romain