Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

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,