09-07-2008, 06:06 PM
Hello tous,
Comme vous le savez sûrement déjà, je suis un utilisateur de jaws. Je n'ai pas lu l'intégralité des réponses dans le détail mais voici mes réactions, dans le désordre...
lien ou div avec onclick : le choix est simple, car le div n'est pas un élément focusable, ou autrement dit, il n'est pas accessible au clavier lorsqu'on navigue avec la touche tab, et par extension, il ne sera pas non plus affiché dans une liste de lien (avec jaws : Insert+F7). Donc, à disqualifier sauf si sa préférence à <a> est bien justifiée.
Néanmoins, les versions récentes de jaws annoncent «cliquable » lorsqu'on arrive avec les flèches de direction sur un élément autre que <a> qui déclenche du js par onclick. Dans certaines circonstances, il n'est pas annoncé, mais en règle générale ça fonctionne.
Par contre, pour qu'on puisse réellement y accéder, il faut qu'il y ait du contenu HTML réellement visible : du texte, une image en dur, etc. L'erreur à ne pas faire si vous avez décidé malgré tout d'utiliser du div ou du span cliquable, c'est d'utiliser une image de fond en CSS ou un contenu quelconque caché par display:none, visibility:hidden, text-indent:-1000000px ou un procédé du même genre. Il FAUT qu'il y ait un contenu effectif où jaws peut simuler le clic.
Maintenant, entre href="javascript:..." ou onclick : pour jaws, et là je parle uniquement pour jaws, un bug qui est resté de la version 3 à la 8 (corrigé dans la 9) fait que les onclick qui ouvrent des alert, prompt ou confirm plantent jaws et tout le PC tant qu'on a pas appuyé sur Alt+F4 pour fermer la boîte ouverte, et aucun message n'est lu. Donc il n'est pas possible d'appuyer sur OK ni dans un confirm (Alt+F4 = annuler), ni dans un prompt (Alt+F4 = annuler = la valeur null est retournée). Par contre, si votre script switch display:block/none, visibility:visible/hidden ou ajoute/modifie du contenu HTML visible, jaws a plus de chances de mettre à jour automatiquement son « affichage interne » avec un onclick qu'un href javascript.
Là je parle uniquement des spécificités de jaws, en pratique ça n'a que peu d'importance, hormis que le onclick est tout de même plus propre, tandis que le href javascript relèverait plus du « bricolage ».
Et maintenant, halte aux idées reçues :
Pour quelqu'un qui a des difficultés à manipuler une souris, la question est paradoxale : à des fins d'entraînement pourquoi pas, mais dans un but divertissant, je doute que vous preniez du plaisir d'être contraint d'utiliser un objet que vous avez des difficultés à manipuler. Donc là aussi, vous allez les faire dégager très vite.
Le problème est le même que pour flash : c'est inaccessible par nature, on ne peut rien y faire, donc soit on fait un site accessible et on s'abstient de l'utiliser, ou soit on utilise et alors on assume en étant conscient que le site ne sera pas utilisable par tout le monde.
La proposition de Kéké d'utiliser deux versions différentes d'un même site peut être une solution louable. Mais là vous vous exposez à plusieurs problèmes : le temps de développement et de maintenance sont rallongés, il faut veiller à ce que les mises à jour soient synchronisées entre les deux versions car il faut que les utilisateurs de la version simplifiée aient accès aux mêmes informations que les autres, pour ne citer que les deux points qui me paraissent être les plus importants. Si vous avez prévu d'utiliser du d&d, du flash ou d'autres éléments par nature inaccessibles à certains utilisateurs, proposer une version alternative est une nécéssité.
Mais plutôt que faire deux versions, pourquoi ne pas faire directement une seule version qui convienne à tout le monde ?
J'arrive au terme d'un long post, j'espère avoir pu vous apporter quelques réponses constructives.
Comme vous le savez sûrement déjà, je suis un utilisateur de jaws. Je n'ai pas lu l'intégralité des réponses dans le détail mais voici mes réactions, dans le désordre...
lien ou div avec onclick : le choix est simple, car le div n'est pas un élément focusable, ou autrement dit, il n'est pas accessible au clavier lorsqu'on navigue avec la touche tab, et par extension, il ne sera pas non plus affiché dans une liste de lien (avec jaws : Insert+F7). Donc, à disqualifier sauf si sa préférence à <a> est bien justifiée.
Néanmoins, les versions récentes de jaws annoncent «cliquable » lorsqu'on arrive avec les flèches de direction sur un élément autre que <a> qui déclenche du js par onclick. Dans certaines circonstances, il n'est pas annoncé, mais en règle générale ça fonctionne.
Par contre, pour qu'on puisse réellement y accéder, il faut qu'il y ait du contenu HTML réellement visible : du texte, une image en dur, etc. L'erreur à ne pas faire si vous avez décidé malgré tout d'utiliser du div ou du span cliquable, c'est d'utiliser une image de fond en CSS ou un contenu quelconque caché par display:none, visibility:hidden, text-indent:-1000000px ou un procédé du même genre. Il FAUT qu'il y ait un contenu effectif où jaws peut simuler le clic.
Maintenant, entre href="javascript:..." ou onclick : pour jaws, et là je parle uniquement pour jaws, un bug qui est resté de la version 3 à la 8 (corrigé dans la 9) fait que les onclick qui ouvrent des alert, prompt ou confirm plantent jaws et tout le PC tant qu'on a pas appuyé sur Alt+F4 pour fermer la boîte ouverte, et aucun message n'est lu. Donc il n'est pas possible d'appuyer sur OK ni dans un confirm (Alt+F4 = annuler), ni dans un prompt (Alt+F4 = annuler = la valeur null est retournée). Par contre, si votre script switch display:block/none, visibility:visible/hidden ou ajoute/modifie du contenu HTML visible, jaws a plus de chances de mettre à jour automatiquement son « affichage interne » avec un onclick qu'un href javascript.
Là je parle uniquement des spécificités de jaws, en pratique ça n'a que peu d'importance, hormis que le onclick est tout de même plus propre, tandis que le href javascript relèverait plus du « bricolage ».
Et maintenant, halte aux idées reçues :
Citation :Je doute que les navigateurs spécialisés envoient uneDans le cas des revues d'écran, le navigateur n'envoie aucune info spécifique. Vous n'avez aucun moyen de savoir si l'utilisateur qui surfe sur votre site utilise une revue d'écran. Vous le voyez comme un autre utilisateur avec un navigateur normal, le plus souvent IE6 sous XP ou IE7 avec vista. Firefox est beaucoup moins courant, car bien que jaws le supporte (version 8+), c'est beaucoup plus lent et il y a beaucoup plus de bugs, parfois assez méchants. Je n'ai aucune information au sujet d'opera, ni du support sous mac ou linux.
information générique (qui varie d'un handicap à l'autre, mais pas d'un navigateur à l'autre) qui permettrait d'identifier le handicap de l'utilisateur.
Citation :Concernant les événements, De mémoire, l'événement click est reconnu même lorsque l'on navigue au clavier (en faisant Enter). Par contre, le cas du mouseoverJe pense avoir répondu à ça dans la première partie de mon post. Le problème du focus est le même : vous aurez beau mettre onfocus sur un div ou un span, ça ne marchera pas. Jaws annonce également les éléments onmouseover, mais la manipulation au clavier qui permet de les déclencher est assez compliquée. Les autres revues d'écran moins performantes et les utilisateurs qui sont incapables d'utiliser une souris n'ont pas d'alternative. Donc, à proscrire, y compris pour un menu déroulant, que vous DEVEZ IMPÉRATIVEMENT doubler d'un gestionnaire au clic en plus de tenir compte des remarques à son propos.
est un peu particulier puisqu'il fonctionne avec la souris, l'altérnative au clavier est focus.
Citation :En forçant le trait, est ce qu'un aveugle a un intérêt à jouer à un jeu avec du drag/drop ou est-ce trop ardu pour lui ? est ce qu'un handicapé moteurL'intérêt serait peut-être au rendez-vous, mais c'est sûr qu'en présentant l'information de cette manière, il est clair que vous éliminez d'entrée les utilisateurs de revue d'écran. Il existe un moyen pour « simuler » un d&d mais ça ne marche pas bien, c'est une manipulation qui reste compliquée (perso je ne l'ai jamais utilisée), et surtout ça ne fonctionne pas en naviguant sur le web avec le tampon virtuel de jaws.
(genre ayant des difficultés à manipuler la souris) a un intérêt à jouer à un jeu avec du drag/drop ou est-ce trop ardu pour lui ? mon avis c'est que ce genre de jeu n'est pas adapté de toute manière, mais c'est un avis d'un méconnaissant total, c'est donc plus un a priori qu'autre chose.
Pour quelqu'un qui a des difficultés à manipuler une souris, la question est paradoxale : à des fins d'entraînement pourquoi pas, mais dans un but divertissant, je doute que vous preniez du plaisir d'être contraint d'utiliser un objet que vous avez des difficultés à manipuler. Donc là aussi, vous allez les faire dégager très vite.
Le problème est le même que pour flash : c'est inaccessible par nature, on ne peut rien y faire, donc soit on fait un site accessible et on s'abstient de l'utiliser, ou soit on utilise et alors on assume en étant conscient que le site ne sera pas utilisable par tout le monde.
La proposition de Kéké d'utiliser deux versions différentes d'un même site peut être une solution louable. Mais là vous vous exposez à plusieurs problèmes : le temps de développement et de maintenance sont rallongés, il faut veiller à ce que les mises à jour soient synchronisées entre les deux versions car il faut que les utilisateurs de la version simplifiée aient accès aux mêmes informations que les autres, pour ne citer que les deux points qui me paraissent être les plus importants. Si vous avez prévu d'utiliser du d&d, du flash ou d'autres éléments par nature inaccessibles à certains utilisateurs, proposer une version alternative est une nécéssité.
Mais plutôt que faire deux versions, pourquoi ne pas faire directement une seule version qui convienne à tout le monde ?
Citation :Les non-voyants ont en particulier de gros problèmes avec les liens en target="_blank" qui ouvre une nouvelle page. Cela leur fausse complètement la navigation.J'ajouterais que cela n'est pas uniquement vrai pour les déficients visuels. Ça énerve aussi les utilisateurs bien voyants parfois. L'ouverture dans une nouvelle fenêtre doit être une action contrôlée par l'utilisateur ou alors elle s'applique à des cas bien précis, par exemple un genre de boîte de dialogue où là c'est clair pour tout le monde qu'on saisit vite en encart quelques informations avant de revenir où on était avant.
Citation :Le drag & drop n'aura aucune chance de fonctionner ... Jaws, je crois, désactive complètement tous les javascript.Une fois encore, halte aux idées reçues. Jaws fonctionne par-dessus un navigateur conventionnel (IE6 ou IE7) supportant le javascript.
J'arrive au terme d'un long post, j'espère avoir pu vous apporter quelques réponses constructives.
html, javascript, blagues, midi, etc. => http://quentinc.net/