1178 sujets

Accessibilité du Web

Salut,

En en ce moment, je me pose une question pour rendre accessible une appli que je suis en train de développer.
J'ai 2 listes déroulantes. Le contenu de la 2ème liste déroulante est chargée dynamiquement en Ajax Smiley cligne sur un onchange de la première liste déroulante.

Comment rendre accessible ces 2 listes ?
1. Supprimer Ajax ? Possible en faisant un submit sur le onchange de la première liste déroulante.
2. Comment remplacer le onchange de la première liste déroulante. J'imagine que le onchange sur un navigateur visuel ne fonctionne pas.

Je ne vois pas trop de solution mis à part :
- charger l'ensemble des données pour les 2 listes déroulantes et faire un contrôle de cohérence après mais ça m'embête car les 2 listes contiennent 30x30 éléments
- mettre un bouton submit à côté de la première liste déroulante.

Vos idées m'intéressent.

Bonne soirée
François
Bonjour.
Ceci n'est que mon avis.
Donc, selon moi :

Le onchange n'est en aucun cas problématique ici car il effectue une modification sur une autre liste, qui n'a pas le focus au moment où l'onchange est lancé.
L'utilisateur clavier ne s'aperçoit au premier abord de rien, il peut continuer gaiement à sélectionner ce qu'il veut dans la première liste

1. Supprimer Ajax ? Possible en faisant un submit sur le onchange de la première liste déroulante.

onchange+submit est antiaccessible. Mauvaise idée.
En effet, en naviguant au clavier, on n'a pas le temps d'appuyer sur flèche haut/bas que le submit est déjà exécuté, ne laissant pas à l'utilisateur le temps de voir ce qu'il a sélectionné.

2. Comment remplacer le onchange de la première liste déroulante.
laisse-le, tant qu'il ne fait pas de submit, ça va.

Je ne vois pas trop de solution mis à part :
- charger l'ensemble des données pour les 2 listes déroulantes et faire un contrôle de cohérence après mais ça m'embête car les 2 listes contiennent 30x30
éléments

En effet, c'est un peu long.
Sur un 56k et/ou un ordi ne disposant pas de grande capacité de mémoire, cela s'avèrera rapidement problématique.
Par contre, tu y gagnes en simplicité du code.

Sselon moi, idéal pour des petites listes, mais là, c'est trop conséquent. Donc, à éviter.

- mettre un bouton submit à côté de la première liste déroulante.

Bof, je ne trouve pas ça très estétique. Et comment feras-tu la différence entre le submit de la première liste et le submit définitif du formulaire ?
Oui mais j'imagine que le "onchange" ne fonctionne pas sur un navigateur textuel (lynx) ou auditif ?
Je n'ai pas de lynx sous la main pour tester.

Merci
Sur lynx en effet, non, js ne marchera pas.
Le mieux est que dans le HTML, tu codes en dur une liste, un bouton submit, une deuxième liste et le reste, et le bouton submit final.
Ensuite tu fais un script javascript qui supprime (masque) le bouton submit à côté de la première liste déroulante et tu intalles le onchange + xhr.