web-dev-qa-db-fra.com

Un «tabulation unique» est-il un objectif valide pour une barre d'outils qui représente presque la totalité de l'interface utilisateur?

This Le document des meilleures pratiques du W3C dit

To optimize the benefit of toolbar widgets... 
Implement focus management so the keyboard tab sequence
includes one stop for the toolbar and arrow keys move
focus among the controls in the toolbar

Je peux certainement le faire, et en effet le exemple lié à cette entrée est très, très proche (en termes de complexité) de ce dont nous avons besoin.

Le "problème" (s'il s'agit d'un problème), c'est que la barre d'outils de notre produit est à peu près l'ensemble de notre interface utilisateur .

A fragment of the prototype UI showing the toolbar with one of the popups open

Nous avons quelques autres contrôles qui ne se trouvent pas dans la barre d'outils. L'un d'eux est "Quitter" et l'autre est "A propos" - ce sont des cas liminaires spéciaux, chacun produisant une fenêtre modale qui fait sortir l'utilisateur de l'activité principale.

Quelques autres contrôles deviennent disponibles via la barre d'outils, certains d'entre eux sous forme d'actions dans les menus contextuels (voir capture d'écran de notre prototype).

Il existe trois de ces fenêtres contextuelles, chacune contenant de deux à quatre boutons d'action. Et ici, j'entre en collision avec une autre recommandation de le même document :

Avoid including controls that require arrow keys
to operate, such as textbox or radio group.
If unavoidable, include only one such control
and make it the last element .

Catch-22?

Il y a quelques autres contrôles qui apparaissent dans un panneau séparé après l'activation d'une des actions de la barre d'outils.

La barre d'outils, alors, est (à peu près) l'interface utilisateur.

Si je comprends bien, l'objectif de conception "arrêt de tabulation unique" est destiné à faciliter/accélérer la navigation dans l'interface utilisateur avec un clavier ou un appareil similaire. Il s'agit d'un mécanisme de "découpage cognitif".

Mais si je suis la recommandation des "meilleures pratiques" dans ce cas, presque tous les contrôles seront disponibles uniquement avec les touches fléchées (plus Home/PageUp, etc.), plutôt qu'avec l'onglet. Je suis curieux de savoir si cela est vraiment souhaitable et conforme aux idiomes établis et préférés.

Cela signifie que la touche de tabulation sera à peine utilisée. Est-ce que ça va? Il est si souvent fait mention de "tabindex" et de "tabulation" que je pense qu'il pourrait être "faux" de s'appuyer beaucoup plus sur d'autres touches, en particulier pour ces trois menus contextuels.

Pour le moment, j'ai un prototype où vous parcourez la barre d'outils et utilisez les touches fléchées pour sélectionner des actions dans les menus contextuels (si activé).

Bien sûr, je testerai quelques approches avec des utilisateurs de clavier chevronnés, et les résultats de ces tests peseront lourdement, mais d'ici là, je suis curieux de découvrir la raison d'être du `` taquet de tabulation unique '' et la force d'adhésion aux principes qui se cachent derrière.

2
brennanyoung

Selon ce document, il semble qu'il y ait deux principaux avantages à présenter cela comme une barre d'outils et à le traiter comme tel.

Lorsqu'un ensemble de contrôles est présenté visuellement comme un groupe, le rôle de la barre d'outils peut être tilisé pour communiquer la présence et le but du regroupement aux utilisateurs du lecteur d'écran. Le regroupement des contrôles dans des barres d'outils peut également être n moyen efficace de réduire le nombre de taquets de tabulation dans l'interface du clavier. (Je souligne)

Examinons chacun de ces principaux avantages individuellement:

  1. Communiquer le regroupement visuel aux lecteurs d'écran

Compte tenu du fait que la quasi-totalité de votre interface utilisateur est cette seule barre d'outils , je ne suis pas sûr qu'il soit aussi nécessaire de communiquer que le tout est dans un groupe . Cela ressemble beaucoup à emballer un sac à dos, puis à mettre ce sac à dos dans un sac polochon et à s'assurer que les gens le savent.

  1. Réduisez le nombre de taquets de tabulation

L'avantage fourni par le regroupement de vos contrôles dans une barre d'outils est que l'utilisateur peut reconnaître que son élément cible ne se trouve pas dans ce groupe et ignorer le groupe avec un seul Tab sans être dérangé en passant chaque élément individuellement. Encore une fois, étant donné que la quasi-totalité de votre interface utilisateur est cette barre d'outils unique , cela pourrait en fait être plus un obstacle. Il est en fait très probable que l'élément cible de l'utilisateur se trouve dans votre barre d'outils.

2
maxathousand