FAQ et règles pour les accesskeys en XUL

Qu'est-ce qu'une accesskey ?

Une accesskey ou touche mnémonique est une lettre soulignée dans une page Web, un menu ou un dialogue qui indique à l'utilisateur un raccourci clavier rapide simulant un clic sur cet élément. Par exemple, un bouton « Appliquer » peut avoir la lettre « A » soulignée. Sous Windows et UNIX, appuyer sur les touches <kbd>ALT+A</kbd> est une façon pratique de pousser le bouton. Sous Macintosh, les accesskeys ne sont disponibles qu'en HTML et pas en XUL, et elles sont activées en utilisant la touche <kbd>CTRL+</kbd> lettre au lieu de <kbd>ALT</kbd>.

Comment une accesskey est-elle ajoutée à un contrôle de formulaire ?

Une accesskey peut être ajoutée à un contrôle ou libellé de formulaire HTML ou XUL en utilisant l'attribut accesskey. Par exemple, voici comment on peut ajouter une accesskey à un bouton XUL :

<button label="Appliquer maintenant" accesskey="A" /> Appliquer maintenant
- ou -
<button label="Appliquer maintenant" accesskey="a" /> Appliquer maintenant

Dans Mozilla, nous utilisons des DTD pour rajouter une autre couche d'abstraction à des fins d'internationalisation. L'exemple ci-dessus devrait donner :

<button label="Appliquer maintenant" accesskey="&applyInstantly.accesskey" />

(Utilisez toujours accesskey au lieu de akey).

Si des méthodes comme confirm(), confirmEx() ou prompt() sont utilisées pour créer un dialogue, utilisez un « & » devant le texte du bouton ou de la case à cocher fait du caractère qui suit une accesskey. Par exemple, &Maintenant transforme « M » en accesskey soulignée. Pour insérer un véritable caractère esperluète, utilisez &&.

Comment choisir une lettre d'accesskey ?

  • L'attribut « accesskey » est sensible à la casse !
    • Remarquez que la différence dans l'exemple des deux boutons ci-dessus est la spécification de la casse. La mise en œuvre des accesskeys de Mozilla essaiera d'abord de souligner une lettre de la même casse, mais s'il n'y en a pas il se rabattra sur la lettre de casse opposée. Nous préférons souligner la première lettre de l'un des mots, il est donc important d'être conscient ce cette particularité.
  • Évitez les doublons
    • N'utilisez pas deux fois la même lettre d'accesskey dans la même fenêtre.
    • Soyez particulièrement attentifs aux menus déroulants dans la même fenêtre. Par exemple, dans le dialogue du Gestionnaire de marque-pages, n'utilisez pas F, E, A, T ou i (Fichier, Edition, Affichage, Tâches, Aide).
    • Aide demandée : il serait utile d'avoir un outil automatisé pour vérifier l'existence de doublons d'accesskeys et les accesskeys manquantes dans les fichiers XUL.
  • Rendez-les faciles à voir
    • Utilisez les lettres au début du premier ou du second mot du libellé.
    • Utilisez un consonne ou une voyelle distinctive dans le libellé.
    • Utilisez les lettres de grande largeur, telles que w, m et les lettres majuscules.
    • Évitez les lettres avec des jambages, telles que p, g, q ou y.
    • Les lettres adjacentes aux lettres ayant des jambages.
    • Les lettres n'ayant qu'un pixel de largeur, comme i ou l.
  • Rendez-les faciles à mémoriser
    • Faites en premier les menus importants pour qu'ils aient les meilleures accesskeys.
    • Regardez si un menu similaire a une accesskey quelque part ailleurs dans Mozilla et utilisez la même accesskey. Il y a aussi des accesskeys standard dans Windows, comme Propriétés.
    • Sinon, essayez la première lettre du premier mot du menu.
    • Puis la première lettre d'un autre mot.
    • Enfin, utilisez des lettres non muettes dans un mot d'action (faites cela quand vous avez choisi les accesskeys pour le reste du dialogue).
  • Éléments courants n'ayant pas d'accesskeys
    • Boutons OK.
    • Boutons Annuler.
    • Boutons Fermer.
    • Libellés d'onglets.
    • Boutons des barres d'outils
    • Éléments d'arbres
    • Éléments de listes
    • En-têtes de colonnes

Y a-t-il des bogues critiques que je devrais connaître ?

  • bug 143065 - La portée des accesskeys n'est pas limitée au panneau courant.

Où les accesskeys doivent-elles être ajoutées ?

Recherchez les dépendances du bug 129179 (le méta bogue de gestion des accesskeys XUL), ou recherchez les bogues avec « accesskey » ou « mnemonic » dans le résumé, ou recherchez les dialogues où il n'y a pas d'éléments avec des lettres soulignées.

Ouvrez les bogues sous le composant « Keyboard Navigation », et rendez le méta bug 129179 dépendant de ceux-ci.

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Mgjbot, BenoitL, Chbok, Cedric
 Dernière mise à jour par : Mgjbot,