1174 sujets

Accessibilité du Web

Bonsoir,

J’espère ne pas trop déranger, je me permet une dernière question sur laquelle je sèche.

Je souhaites définir une liste de commandes. Le design pattern Menu ne convient pas assez, et le pattern Menu Bar, encore moins. Si le pattern Menu ne convient pas, c’est que c’est toujours le premier élément qui y a le focus, alors que le comportement suggéré pour les listes, qui est de donner le focus à l’élément sélectionné et de changer le focus avec les touches de direction, conviendrait mieux.

J’ai donc pensé au pattern Listbox, mais il ne convient pas, parce qu’il doit contenir des options, et non-pas des commandes.

J’ai pensé au rôle `list`, mais il ne convient pas, parce qu’il ne doit être utilisé que contenir des éléments non-interactifs, et donc pas de commandes.

Je cherche à définir quelque chose qui se rapproche de ça : un appui sur tab, donne le focus à l’élément présélectionné ou précédemment sélectionné, un second appui sur tab, fait sortir de la liste. Jusque là, ça ressemble assez au pattern Tab Panel (la navigation dans les onglets y fonctionne comme ça). Un appui sur une touche de direction fait se déplacer le focus dans la liste. Là, ça ressemble au pattern Accordion. Un appui sur Espace ou Entrée, actionne l’élément, qui est une commande. C’est sur ce dernier point que ça coince ; même après avoir scruté les patterns plusieurs fois, je ne vois pas quel conteneur peut correspondre.

Je suis tenté de prendre le pattern Menu, avec lequel je me donnerais des libertés, mais se donner des libertés, signifierait comportement non-attendu, et ça m’ennuie.

Cependant, ce que je souhaites définir, ressemble beaucoup à un menu, excepté que que les touches Droite et Gauche permettrait d’y naviguer autant que les touches Haut et Bas, et que entrer avec Tab, donnerait le focus à l’élément précédemment sélectionné plutôt que toujours au premier élément. Une dernière différence, est que après avoir actionné une commande, bien que le focus irait ailleurs, le « menu » resterait ouvert (ces différents « menus » persistants, sont dans des onglets).

Des gens ont une idée ?

Si ça peut aider, je donne une précision sur l’utilisation concrète : c’est pour des sortes de palettes. Une palette de caractères, une palette de couleurs, une palette de smilies et une palette de balises BBCode. Les actionner, produit une insertion dans un textarea, qui reprend le focus à chaque fois.
Modifié par hibou57 (21 Jan 2016 - 21:04)
Modérateur
hibou57 a écrit :
J’ai pensé au rôle `list`, mais il ne convient pas, parce qu’il ne doit être utilisé que contenir des éléments non-interactifs, et donc pas de commandes...


Ha bon ?

Eh bien, je ne vais pas me gêner, je vais transgresser ça dès demain ! Smiley cligne

Amicalement,
Hello Quentin,

J’avais envisagé le pattern Tool Bar, mais je l’ai écarté, parce qu’il correspond encore moins.

La page WAI-ARIA 1.0 Authoring Practices — Tool Bar (w3.org) en dit ceci :
W3C a écrit :
A toolbar is a flat non-hierarchical collection of controls that provides quick access to a subset of the functions found in the menubar/menu hierarchy. Its purpose is to reduce effort in using these functions.


Ça doit être associé à un menu, alors que je n’ai pas de menu correspondant. Ça doit contenir un petit nombre d’éléments, alors que je peux en avoir beaucoup, comme ce sont des palettes. Plus loin (que je n’ai pas cité), il est dit qu’il faut obligatoirement un attribut `aria-label` décrivant le rôle de la barre d’outils, alors que cet attribut serait redondant avec le texte de l’onglet dans lequel ce serait placé.

Le menu me semble toujours la construction la plus proche.
En fait, plus je relis ton premier post, plus ton truc me fait penser aux rubans d'Office 2007+ / Windows 8+. Et dans Office 2007+, la manipulation du ruban se fait au premier niveau un peu comme dans une barre de menus même si le dernier menu utilisé prend le focus au lieu de systématiquement le premier, et pour les niveaux suivants c'est considéré avant tout comme des menus même si les items sont répartis à la fois horizontalement et verticalement. LE tout après c'est de bien informer de comment on peut naviguer au clavier là-dedans.

L'erreur de Microsoft dans les rubans tels qu'ils sont d'après moi, c'est les grosses incohérences qu'il y a: parfois c'est tab, parfois c'est haut/bas; parfois pour entrer du texte il faut commencer par entrer dans la textbox, parfois on peut taper directement du texte dès qu'elle a le focus, et pareil pour faire son choix dans les combo ou parfois il faut d'abord ouvrir la liste et parfois on passe sans transition des items du menu à ceux de la liste avec flèche bas; et enfin, le flou entre les boutons qui font une action définitive et ceux qui ouvrent encore un sous-menu, ou qui peuvent faire les deux.
Modifié par QuentinC (23 Jan 2016 - 23:40)
QuentinC a écrit :
[…] la manipulation du ruban se fait au premier niveau un peu comme dans une barre de menus même si le dernier menu utilisé prend le focus au lieu de systématiquement le premier, et pour les niveaux suivants c'est considéré avant tout comme des menus même si les items sont répartis à la fois horizontalement et verticalement. […]

Il n’y a qu’un seul niveau, alors ça simplifie déjà.

J’ai finalement opté pour un role `menu` contenant des éléments dont le rôle est `menuitem`. J’ai opté pour `menu`, parce que ce rôle me semble plus librement adaptable que le rôle `menubar` qui est nettement typé.

Un petit truc pour les gens qui essaieraient : il est logique, pour le `menu`, de faire une liste, et alors on peut penser à faire porter le rôle `menuitem`, par les éléments de la liste. Il ne faut justement pas le faire, et faire porter le rôle `menuitem` par le contrôle contenu dans chaque élément de la liste.

La raison, c’est que `aria-selected` ne peut pas être utilisé pour les `menuitem`, et que alors on ne peut compter que sur `tabindex`, pour marquer l’élément sélectionné (`tabindex=0`, pour un élément sélectionné, et `tabindex=-1`, sinon).

À cette occasion, j’ai aussi découvert qu’il ne faut pas mettre de `tabindex=-1` sur un `label` contenant un contrôle, parce que si un `label` a un `tabindex=-1`, le contrôle qu’il contient reste navigable avec la touche de tabulation.

Pour ce qui est de dire comment on navigue dans ce menu, je ne me suis pas encore décidé.

Pour la navigation, j’ai effectivement fait comme je pensais au début, c’est à dire avec haut ou gauche, pour aller à l’élément précédent, et avec droite ou bas, pour aller à l’élément suivant. Quand on arrive au début ou à la fin, ça reboucle. La navigation au clavier, est donc exactement la même que pour les onglets. Quand le focus est sur un onglet, la tabulation donne le focus à l’élément de menu précédemment sélectionné ou au premier élément s’il n’y a pas eu de sélection précédente. Quand le focus est sur un élément du menu, Shit+Tab donne le focus à l’onglet contenant le menu.
Modifié par hibou57 (07 Feb 2016 - 03:24)
lindarose11 a écrit :
I would like more information about this, because it is very nice., Thanks for sharing.
Descargar Geometry Dash | Descargar Geometry Dash 2.0 |Geometry Dash

Eh mon gars... T'es sur un forum en langue française ici et la moindre des correction bis à vis des lecteurs est de t'exprimer dans cette langue.
Au besoin Google Traduction sera ton ami.
Je n'ose imaginer le flot d'insultes auquel aurait à faire face un Français s'avisant de laisser un commentaire dans la langue de Molière sur un forum anglais.
Si tu es natif de la Perfide Albion, apprendre les rudiments de français te sera salutaire.
Si tu es français, t'exprimant en anglais pour se donner un genre "pro", mieux vaut dès à présent arrêter de brûler ton kérosène et redescendre de quelques niveaux de vol.
sepecat a écrit :

Eh mon gars... T'es sur un forum en langue française ici et la moindre des correction bis à vis des lecteurs est de t'exprimer dans cette langue.

Apparemment la personne en question pratique plutôt la langue de Cervantès.
L'anglais continental européen est -- qu'on le veuille ou non -- le seul idiome commun à la plupart des européens (à l'exception peut être des britanniques, mais sont ils vraiment européens?) et on ne peut pas reprocher à cette personne de nous écrire dans cette langue.

Tu peux te demander pourquoi il s'inscrit sur un site en français? Sans doute parce qu'il sait lire notre langue, même s'il ne se lance pas dans l'écriture de texte dans une langue qu'il maîtrise mal.
Personnellement je dois savoir lire un texte technique dans au moins 3 langues européennes, mais je serais bien en peine d'écrire quoi que ce soit dans une autre langue que le français ou le sabir anglo-techno sus mentionné.
Sur d'autre sites que je fréquente, nous avons convenu de nous exprimer chacun dans notre langue, et ça fonctionne plutôt bien.
Modifié par PapyJP (04 Mar 2016 - 11:44)
Modérateur
Bonjour,

Je pense plutôt que lindarose11 est un spammer qui dépose ses liens un peu partout !

Amicalement,
parsimonhi a écrit :
Bonjour,

Je pense plutôt que lindarose11 est un spammer qui dépose ses liens un peu partout !

Amicalement,

Fort probable, en effet, mais on peut se faire plaisir...
PapyJP a écrit :

Apparemment la personne en question pratique plutôt la langue de Cervantès.
L'anglais continental européen est -- qu'on le veuille ou non -- le seul idiome commun à la plupart des européens (à l'exception peut être des britanniques, mais sont ils vraiment européens?) et on ne peut pas reprocher à cette personne de nous écrire dans cette langue.

Tu peux te demander pourquoi il s'inscrit sur un site en français? Sans doute parce qu'il sait lire notre langue, même s'il ne se lance pas dans l'écriture de texte dans une langue qu'il maîtrise mal.
Personnellement je dois savoir lire un texte technique dans au moins 3 langues européennes, mais je serais bien en peine d'écrire quoi que ce soit dans une autre langue que le français ou le sabir anglo-techno sus mentionné.
Sur d'autre sites que je fréquente, nous avons convenu de nous exprimer chacun dans notre langue, et ça fonctionne plutôt bien.

Pour être clair, je bosse dans un milieu où nous dialoguons chaque jour avec des singapouriens, des indiens, des "british" pur jus, etc.
Autant dire que dans ce contexte, causer grand breton ne crée aucun état d'âme en ce qui me concerne.
J'ai bien dit "dans ce contexte"...
Alsacreations est, à ma connaissance, un lieu d'expression à 99,99% français. Ce constat fait, tout forum utilisant cette langue reste, bien entendu, ouvert à ceux qui ne la pratiquent / maîtrisent pas.
L'usage veut alors qu'on laisse un commentaire dans ma langue du forum, éventuellement traduit de façon automatique, en précisant qu'on est étranger.
Ça passe très bien et la plupart des intervenants adaptent leur réponse pour faciliter la compréhension.
Du moins est-ce ce que j'ai pu constater lors de différents échanges.
Blague à part, comme suggéré supra, la troll attitude paraît plausible dans le cas présent.
Pourquoi avoir répondu ? Probablement parce que je suis pour un Brexit le plus rapide possible... Smiley cligne