# Entrée utilisateur

## Interaction avec la souris

### Boutons

#### Pléthore de dispositifs de pointage : souris, boule de commande, souris contrôlée au pied, manette de jeu, pavé tactile et dispositif de pointage monté sur le doigt.

Pictures of different types of pointing device, including mouse, trackball, foot-operated mouse and joystick.

Pour la plupart des utilisateurs, la souris reste la façon la plus courante d'interagir avec les interfaces graphiques. Le terme « souris » est utilisé dans ce chapitre pour désigner tous les autres dispositifs de pointage qui peuvent être utilisés pour déplacer le pointeur à l'écran, comme les boules de commande, les pavés tactiles, boules 3-D, tablettes graphiques ou dispositifs de technologie d'assistance qui émulent la souris.

Pour les utilisateurs droitiers, le bouton gauche d'une souris conventionnelle est utilisé pour la majorité des actions de souris. Nous l'appelons par conséquent bouton gauche ici, même si ce n'est pas physiquement le cas. Pour cette même raison, vous pouvez parfois voir ce bouton nommé « bouton 1 » ou « bouton de sélection » dans les codes et documentations.

De même pour les utilisateurs droitiers, le bouton droite d'une souris conventionnelle est utilisé pour les opérations impliquant des menus contextuels. Nous l'appelons par conséquent bouton droit dans ce chapitre. Vous pouvez parfois voir ce bouton nommé « bouton 3 » ou « bouton de menu » dans les codes et documentations.

Une souris conventionnelle à trois boutons possède normalement son troisième bouton (ou une molette qui agit comme un bouton lorsqu'elle est pressée) entre les boutons gauche et droite. Nous l'appelons par conséquent bouton central dans ce chapitre. Vous pouvez parfois voir ce bouton nommé « bouton 2 » ou « bouton de transfert » dans les codes et documentations.

#### Conseils

- Votre application utilise les mouvements du bouton gauche pour sélectionner, activer des composants, déplacer et afficher les menus déroulants.

- Votre application utilise les mouvements du bouton droit pour afficher et sélectionner des actions dans un menu contextuel.

- Votre application utilise le bouton central pour coller la sélection actuelle PRINCIPALE (habituellement la dernière mise en surbrillance) à la position du pointeur, comme suit :

  #### Effet des touches modificatrices sur une opération de transfert avec le bouton central

  Modificateur | Fonction
  --- | ---
  Sans modificateur | Copier la sélection
  Ctrl | Copier la sélection
  Shift | Déplacer la sélection
  Shift Ctrl | Créer un lien, raccourci ou un alias de la sélection

  Dans votre interface, ne sur-définissez cette fonctionnalité nulle part où l'action de transfert pourrait être utilisée. Si vous avez l'intention d'utiliser quelque part le bouton central dans un but différent, ne le faites que comme raccourci pour utilisateurs expérimentés et seulement pour les opérations impossibles à réaliser à l'aide du bouton droit ou du bouton gauche.

- If present on the mouse, the scrollwheel should scroll the window or control under the pointer, if it supports scrolling. Initiating scrolling in this way should not move keyboard focus to the window or control being scrolled.

- Ctrl molette vers le haut doit faire un zoom avant dans la fenêtre ou le contrôle sous le pointeur de la souris et Ctrl molette vers le bas doit faire un zoom arrière. Faire un zoom de cette façon ne doit pas déplacer le focus clavier de la fenêtre ou du contrôle sous l'action du zoom.

- Les entrées ne doivent pas dépendre du bouton central ou de droite. En plus d'être physiquement plus difficile à cliquer, certains dispositifs de pointage et de nombreux dispositifs de technologies d'assistance ne prennent en charge ou n'émulent que le bouton gauche de la souris. Certaines technologies d'assistance n'émulent même pas la souris du tout mais génèrent des évènements clavier à la place.

- Assurez-vous que toutes les opérations de votre application pouvant être réalisées avec la souris peuvent être effectuées avec le clavier. Les seules exceptions à cela sont les actions où un contrôle moteur fin est une part essentielle de la tâche. Par exemple, le contrôle du mouvement dans certains types de jeux d'actions ou le dessin à main levée dans une application d'édition d'images.

- Ne déformez pas le pointeur de la souris ou ne restreignez pas le mouvement de la souris à une partie de l'écran. Cela peut interférer avec les technologies d'assistance et est habituellement perturbant même pour les utilisateurs qui les n'utilisent pas.

- N'exigez pas de l'utilisateur l'usage de combinaisons (enfoncement de plusieurs boutons de souris en même temps) pour une opération.

- N'exigez pas de l'utilisateur l'usage d'actions à nombreux (triple ou quadruple) clics pour une opération à moins que vous ne fournissiez une méthode alternative pour réaliser la même action.

- Permettez à toutes les opérations d'être annulées avant leur fin. Un appui sur la touche Échap doit annuler toute opération de la souris en cours telle qu'une action de glisser-déposer d'un fichier ou le dessin d'une forme dans une application de dessin.

- N'attribuez aucune action exclusivement au bouton central d'une souris à trois boutons car toutes les souris n'en possèdent pas.

- Ne codez pas de manière permanente les tailles des cibles de la souris ou ne les faites pas trop petites. Définissez toutes les cibles de souris pour qu'elles soient au moins aussi grande que le bouton flèche d'une zone de sélection numérique GtkSpinBox dans le thème gtk actuel. Gardez en tête qu'un utilisateur qui a des problèmes de dextérité ou de vision peut utiliser un thème dans lequel les composants sont beaucoup plus grands que dans le thème par défaut.

- Ne faites pas référence à des boutons de souris précis dans votre interface à moins que cela ne soit absolument nécessaire. Tout le monde n'utilise pas une souris classique avec des boutons gauche, droite et milieu, donc un texte ou des diagrammes qui y font référence peuvent être perturbants.

### Sélection d'objets

#### Équivalence souris et clavier

Pour les contrôles ou fenêtres contenant un certain nombre d'objets que l'utilisateur peut sélectionner, soit un par un, soit plusieurs simultanément, vérifiez que les mécanismes suivants ont été mis en œuvre pour permettre de faire les sélections en utilisant, soit la souris, soit le clavier.

##### Mécanismes standards de sélection avec la souris ou le clavier

| Souris | Clavier
--- | --- | ---
Sélectionner l'élément, désélectionner tous les autres | Clic | Space
Ajouter/supprimer l'élément de la sélection | Ctrl click (toggles item's selected state) | Ctrl Space (toggles focused item's selected state)
Étendre la sélection | Shift click | Shift Space, Shift Home, Shift End, Shift PageUp, or Shift PageDown
Déplacer le focus | Clic sur l'élément approprié pour le sélectionner | Cursor keys, Home, End, PageUp, and PageDown move focus and selection simultaneously. Ctrl cursor keys, Ctrl Home,Ctrl End, Ctrl PageUp, and Ctrl PageDown move focus without affecting current selection.
Tout sélectionner | Click first item, then Shift click last item | Ctrl A
Tout désélectionner | Clic sur le conteneur en arrière-plan | Shift Ctrl A
Activer la sélection | Double-click to activate a single selection. Shift or Ctrl double-clicking extends or adds item to selection first before activating the entire selection. | Return activates entire selection. If nothing is currently selected, selects currently-focused item first.
Inverser la sélection | Pas d'équivalent avec la souris | Ctrl I

#### Sélection par encadrement

For a container whose objects may be arranged in two dimensions, for example the icon view in a file manager, allow multiple selection by dragging a bounding box (sometimes called a "rubber band") around one or more objects. Shift left button drag should add all the objects within the bounding box to the existing selection. Ctrl left button drag should toggle the selected state of all the objects within the bounding box.

##### Conseils

- Allow a bounding box selection to begin only if the initial mouse button press is made:

  - à l'intérieur des limites de l'arrière-plan du conteneur et

  - à l'extérieur des limites de tout objet disposé dans le conteneur.

  Dans une application de dessin, par exemple, cela signifie que le clic initial du pointeur de souris et son déplacement pour définir l'encadrement de sélection peut débuter dans une zone vide du canevas ou dans une forme préalablement bloquée pour éviter une modification accidentelle, mais pas dans une forme active qui serait déplacée par le glissement du pointeur de souris.

- Select any objects that lie wholly or partly within the bounding box when the mouse button is released.

- Faites une mise en évidence dynamique pendant que vous faites glisser le pointeur de souris pour désigner les objets sélectionnés. N'attendez pas que le bouton de la souris soit relâché. Cela évite tout doute à propos des objets sélectionnés par l'encadrement.

- Quand un encadrement est déplacé dans une fenêtre défilante, prenez en charge le défilement automatique de la fenêtre lorsque l'encadrement est déplacé à proximité du bord de la fenêtre.

##### Exemples illustrant la mise en évidence dynamique de la sélection pendant la sélection par encadrement. Dans le premier exemple, la couleur du dossier et le surlignage de l'étiquette changent pour matérialiser la sélection. Dans le second, la sélection est indiquée par ajout de poignées de redimensionnement aux objets sélectionnés.

Example illustrating dynamic selection highlighting during bounding box selection
Example illustrating dynamic selection highlighting during bounding box selection

### Glisser-déposer

Le glisser-déposer est une technique de manipulation directe dans laquelle vous réalisez des actions sur les objets sélectionnés en les déplaçant à l'écran avec la souris. Vous faites « glisser » un objet en cliquant dessus et en maintenant enfoncé le bouton pendant que vous déplacez le pointeur vers l'emplacement cible de l'objet. L'objet est « déposé » à cet emplacement en relâchant le bouton de la souris.

#### Conseils

- N'utilisez le glisser-déposer que si l'utilisateur peut raisonnablement supposer qu'il est possible. Les utilisations les plus courantes sont :

  - pour déplacer ou copier des objets d'un endroit vers un autre,

  - pour lier un objet à un autre,

  - pour réaliser une action sur les objets en les déposant sur une icône représentant cette action, telles qu'une icône de corbeille ou d'imprimante.

- Fournissez un retour visuel pendant toute la durée de l'opération de glisser-déposer. Mettez en évidence les cibles valides et modifiez le pointeur de la souris lorsqu'il passe au dessus d'elles. Utilisez le pointeur de souris « dépôt impossible » lorsque vous passez au dessus de cibles de dépôt non valides. Consultez également la .

- Ajoutez au pointeur de la souris une représentation des objets en cours de déplacement. Conservez cette représentation petite et rendez la translucide afin de ne pas obscurcir les cibles de dépôts éventuelles en dessous d'elle. Consultez également la .

  #### Exemple de pointeur copier agrémenté par une icône représentant le fichier en cours de copie

  Copy pointer superimposed on icon representing a file being copied, to form a "copy file" pointer

- N'autorisez que la copie des objets entre applications et pas le déplacement. Vous évitez ainsi toute confusion pour savoir à quelle application appartient la fonction Annuler qui annule l'opération.

- Autorisez l'utilisateur à annuler une opération de glisser-déposer par toutes ces méthodes :

  - appui sur la touche Échap avant le relâchement du bouton de la souris,

  - dépôt de l'objet sur sa propre position d'origine,

  - réalisation d'un dépôt avec requête et sélection de Annuler dans le menu contextuel (consultez la ),

  - dépôt de l'objet sur une cible de dépôt non valide.

- Permettez à l'utilisateur d'annuler les effets d'une opération de glisser-déposer en sélectionnant Édition Annuler.

- Autorisez le dépôt de plusieurs objets en appuyant sur Maj ou Ctrl pendant la sélection, puis le dépôt de tous les objets sélectionnés.

- Assurez-vous que les utilisateurs de clavier puissent reproduire toutes les actions d'un glisser-déposer en utilisant seulement des éléments de menu ou des raccourcis clavier tels que Copier (Ctrl C) et Coller (Ctrl V).

- Quand un élément est déplacé dans une fenêtre qui peut défiler, prenez en charge le défilement automatique de cette fenêtre lorsque le pointeur de souris est situé à proximité du bord de la fenêtre.

- Faites apparaître un menu contextuel lorsque l'utilisateur tente de déposer plusieurs objets sur une cible qui n'en accepte qu'un seul. Dans le menu, faites la liste de tous les objets déplacés et ajoutez un élément Annuler.

#### Sur-définir le comportement du glisser-déposer

##### Modificateurs clavier

Permettez à l'utilisateur de modifier le comportement d'une opération de glisser-déposer en appuyant sur Ctrl, Maj ou les deux à la fois. Si l'utilisateur actionne les touches modificatrices au cours du glissement, modifiez le pointeur de la souris immédiatement et réalisez la nouvelle action lorsque le bouton de la souris est relâché.

###### Effet des touches de modification pendant une opération de glisser-déposer

Modificateur | Fonction
--- | ---
Ctrl | Copier
Shift | Déplacer
Shift Ctrl | Créer un lien, un raccourci ou un alias

##### Glisser avec requête

Permettez à l'utilisateur de faire glisser les objets avec le bouton central ou avec Alt« bouton gauche ». Faîtes apparaître un menu contextuel lorsque le bouton de la souris est relâché, proposant un choix parmi Copier, Déplacer et Lier (ou n'importe quel sous-ensemble disponible de ces actions) et Annuler. Un glisser-déposer de la sorte est connu sous le nom de Glisser-déposer avec requête : il demande confirmation à l'utilisateur avant d'opérer la modification.

#### Pointeurs de la souris à utiliser pour un glisser-déposer

Utilisez les pointeurs GTK par défaut pour le glisser-déposer lors des opérations standards de transfert affichés ci-dessous. Grâce à cette cohérence, l'utilisateur sait exactement à quoi s'attendre lorsqu'il relâche le bouton de la souris. Si vous devez concevoir un pointeur pour une action de transfert non standard non affichée ici, conservez le style des pointeurs standards.

##### Pointeurs de la souris pour un glisser-déposer

Forme du pointeur | Signification
--- | ---
"Move" pointer | Déplacer la sélection. La sélection que l'on fait glisser est déplacée à l'endroit du déposer ; elle est enlevée de son emplacement initial.
"Copy" pointer | Copier la sélection. La sélection que l'on fait glisser est copiée à l'emplacement du dépôt ; l'original est laissé intact.
"Link" pointer | Lier la sélection. Un lien vers la sélection est inséré à l'emplacement du déposer. Cependant la façon dont le lien est matérialisé dépend de l'application ; par exemple, le lien peut être, soit un hyperlien, soit une icône, soit encore une copie de la sélection de l'original .
"Query drop" pointer | Faire glisser à l'aide du bouton central ou la combinaison Alt-bouton gauche. Un menu contextuel apparaît à l'endroit du dépôt pour vous demandez si vous désirez déplacer, copier ou lier la sélection ou annuler l'opération.
"Can't drop here" pointer | Impossible de déposer ici. Affichez ce pointeur lorsque le pointeur de souris passe sur une zone où la sélection ne peut pas être déposée.

### Interaction de la souris avec le tableau de bord des applications (applets)

Tous les objets sur le bureau doivent se comporter de manière cohérente. En dépit de leur nature particulière, les applets ne font pas exception.

#### Conseils

- Le bouton gauche de la souris sans modificateur doit être suffisant pour agir sur tous les contrôles de l'applet. Les applets doivent être suffisamment simples pour que les clics avec modificateur ou les clics avec d'autres boutons (excepté le menu contextuel de l'applet) ne soient pas nécessaires.

- Un clic avec le bouton droit n'importe où dans la fenêtre d'encadrement de l'applet doit afficher, soit le menu contextuel de tout l'applet, soit le menu contextuel du contrôle sous le pointeur de la souris. Ne laissez pas dans l'applet de « zones mortes » qui ne répondent pas au clic droit.

- N'utilisez pas le bouton central pour autre chose que le déplacement de l'applet vers un autre emplacement. Un clic avec le bouton central et un glisser n'importe où dans la fenêtre de l'applet doit déplacer l'applet ; il n'est pas obligatoire d'avoir une barre de déplacement ou un dispositif similaire.

  Ctrl left button drag should copy the applet, if moving to another panel; unmodified drag or Shift left button drag should move the applet, if moving to another panel. If moving within same panel, Ctrl=switched movement, Shift=push movement, Alt=free movement.

## Interaction au clavier

### Navigation au clavier

Une interface utilisateur bien conçue pour le clavier joue un rôle clé lors de la conception d'applications. Beaucoup d'utilisateurs potentiels préfèrent réaliser la plupart des opérations au clavier plutôt qu'à la souris. Les utilisateurs déficients visuels peuvent parcourir un logiciel plus efficacement en utilisant le clavier parce que l'utilisation de la souris dépend du retour visuel de l'emplacement du pointeur de la souris. De plus des problèmes de mobilité peuvent nuire à un contrôle correct de l'utilisateur en utilisant la souris à cause des besoins en une dextérité motrice fine.

Rendez toutes les actions de la souris accessibles à partir du clavier et incluez un accès clavier à toutes les barres d'outils, menus, liens et boutons. Chaque fonction fournie par votre application doit être accessible en utilisant seulement le clavier. Une bonne façon de procéder est de cacher votre souris lorsque vous testez l'application !

#### Boîte de dialogue et menu avec indication de certaines de leurs touches d'accès et raccourcis

Screenshot of a dialog and a menu with some of their access keys and shortcut keys highlighted

Il est facile de rendre accessible la plupart des fonctionnalités à partir du clavier en utilisant des touches accès et des touches de raccourci, ainsi que les fonctions de navigation clavier intégrées aux boîtes à outils. Tous les contrôles avec étiquettes doivent posséder des touches d'accès et les éléments de menu fréquemment utilisés doivent posséder des touches de raccourci. Cependant, les actions fondées sur un glisser-déposer, par exemple, peuvent demander plus d'imagination pour les rendre accessibles au clavier.

#### Conseils

- Fournissez un accès clavier efficace pour toutes les caractéristiques de l'application. En particulier, assurez-vous que le focus peut être donné à tous les contrôles dans les menus et les boîtes de dialogue en utilisant des touches d'accès ou des raccourcis.

- Utilisez un ordre de navigation clavier logique. Lors d'une navigation dans une fenêtre avec la touche Tab, le focus clavier doit se déplacer entre les contrôles dans un ordre prévisible. Dans les environnements linguistiques occidentaux, c'est habituellement de la gauche vers la droite et de haut en bas.

- Assurez-vous que l'ordre de parcours des contrôles avec la touche « Tab » reste correct pour ceux dont l'état activé dépend de l'état d'une case à cocher, d'un bouton radio et d'un bouton bascule. Lorsqu'un bouton de ce type est sélectionné, tous les contrôles en dépendant doivent être activés et tous ceux qui dépendent d'un autre bouton du groupe doivent être désactivés. Lorsque l'utilisateur sélectionne une case à cocher, un bouton radio ou un bouton bascule qui possèdent des contrôles en dépendance, ne donnez pas automatiquement le focus au premier contrôle dépendant mais laissez plutôt le focus sur le bouton qui commande cette dépendance.

- Ne sur-définissez pas les caractéristiques existantes d'accessibilité au niveau système. Par exemple, la caractéristique MouseKeys de la boîte de dialogue de préférences GNOME Accessibilité clavier permet de simuler à l'aide du pavé numérique les déplacements de la souris et les clics de boutons . Par conséquent, vous ne pouvez pas ajouter des caractéristiques à l'application qui ne seraient atteintes qu'en utilisant le pavé numérique ; les utilisateurs comptant sur les fonctionnalités de MouseKeys ne pourraient pas les utiliser.

- Assurez-vous que tout texte pouvant être sélectionné avec la souris peut également l'être avec le clavier. C'est une facilité pour tous les utilisateurs, mais elle s'adresse plus spécialement à ceux qui ont des difficultés à contrôler finement le mouvement de la souris.

- Assurez-vous que les objets qui peuvent être redimensionnés ou déplacés par un glisser-déposer peuvent également l'être avec le clavier. Par exemple, les icônes ou les fenêtres sur le bureau. Lorsqu'un positionnement et un redimensionnement précis peut se révéler important, par ex. les formes dans un diagramme, pensez également à fournir, soit une boîte de dialogue dans laquelle l'utilisateur peut saisir des coordonnées, soit un moyen de placer les objets sur une grille définie par ce dernier.

- N'utilisez pas des fonctions générales de navigation pour déclencher des actions. Par exemple, n'utilisez pas l'usuelle navigation clavier avec la touche Tab dans une boîte de dialogue pour activer une action associée à un contrôle.

- Affichez les menus, fenêtres ou infobulles, appelés à l'aide du clavier, à proximité de l'objet auquel ils sont associés mais sans le masquer ou l'obscurcir. Dans GNOME, les menus contextuels sont activés par Maj F10 et les infobulles par Ctrl F1.

- Fournissez plus d'une méthode pour réaliser les tâches au clavier lorsque c'est possible. Les utilisateurs peuvent trouver certaines touches ou combinaisons plus faciles que d'autres.

- N'attribuez pas de moyens d'accès complexes aux opérations clavier fréquemment utilisées. Certaines personnes ne peuvent utiliser qu'une seule main sur le clavier, donc les raccourcis utilisables facilement d'une seule main sont préférables pour les opérations courantes. Dans tous les cas, avoir à réaliser des extensions ou des positionnements difficiles sur le clavier augmente pour tous les utilisateurs le risque de se froisser un muscle, donc de douleurs ou de blessures.

- Ne demandez pas d'utilisations répétées d'appuis simultanés de touches. Certains utilisateurs ne sont capables que d'appuyer et tenir enfoncée une seule touche à la fois. Les technologies d'assistance telles que celles offertes dans la boîte de dialogue des préférences Accessibilité du clavier de GNOME permettent aux utilisateurs d'appuyer sur les touches de manière séquentielle plutôt que simultanément, mais bien sûr cela signifie que l'opération prendra plus de temps pour eux.

### Choix des touches d'accès

Donnez une touche d'accès (lettre soulignée) à tous les composants étiquetés, à l'exception des contrôles de barre d'outils : ils occuperaient beaucoup trop de combinaisons de touche d'accès.

Choisissez les touches d'accès afin qu'elles soient aussi faciles à retenir que possible. Normalement l'utilisation de la première lettre de l'étiquette répond à ce critère. Mais dans les fenêtres complexes, le choix peut devenir plus difficile. Voici quelques règles simples :

1. Attribuez des touches d'accès aux contrôles les plus fréquemment utilisés d'abord. Si ce n'est pas évident de savoir lesquels, attribuez les touches d'accès de la gauche vers la droite, du haut vers le bas (pour les environnements linguistiques occidentaux).

2. Utilisez la première lettre de l'étiquette, ou de l'un des autres mots s'il y en a plus d'un. Toutefois, si une autre lettre représente une meilleure association (par ex. « x » dans Extra large) utilisez plutôt cette lettre.

3. Si la première lettre n'est pas disponible, choisissez une consonne facile à se souvenir dans l'étiquette, par exemple « p » dans Remplacer.

4. Si aucune consonne n'est disponible, choisissez n'importe quelle voyelle dans l'étiquette.

Si un doublon de touches d'accès dans une fenêtre est inévitable, vous devez vous abstenir de dupliquer les touches d'accès d'un des boutons suivants s'ils apparaissent dans la même fenêtre : Valider, Annuler, Fermer, Appliquer ou Aide.

Il est également préférable de ne pas attribuer de touches d'accès aux lettres « peu larges » (telles que i ou l minuscules) ou aux lettres avec des jambages (telles que g ou y minuscules) à moins que cela ne soit inévitable. Le souligné ne se distingue pas trop bien sous ces caractères dans certaines polices.

Les applications qui utilisent un système d'écriture non romain avec clavier classique peuvent avoir des étiquettes de contrôle préfixées de caractères romains en tant que touches d'accès.

### Choix des touches de raccourcis

Les tableaux de la résument les touches de raccourci standards à utiliser lorsque votre application prend en charge ces fonctions. Votre application ne prendra pas nécessairement toutes ces fonctions, consultez la pour plus d'informations. Cependant, utilisez les touches de raccourci recommandées pour les fonctions que vous prenez en charge.

Vous voudrez certainement ajouter des touches de raccourci propres aux fonctions de l'application. Dans ce cas, outre le suivi des conseils suivants, jetez un coup d'œil aux autres applications similaires existantes pour voir les touches de raccourci qui y sont définies. Les utilisateurs de votre propre application se servent déjà peut-être de ces applications similaires ; donc, il est judicieux d'être cohérent lorsque c'est possible, car ils aborderont l'utilisation de votre application avec le bénéfice d'une expérience utilisateur déjà acquise.

#### Conseils

- Utilisez Ctrl lettre de préférence à d'autres combinaisons lorsque vous choisissez de nouvelles touches de raccourci.

- Les touches Inser, Suppr, Début, Fin, Page haut et Page bas sont des touches de raccourci acceptables pour des fonctions proches de l'usage classique de ces touches tel que défini par le système. Ne les attribuez pas à des fonctions sans rapport, uniquement parce que vous n'avez plus d'autres combinaisons de touches disponibles.

- N'attribuez des touches de raccourci qu'aux actions les plus couramment utilisées dans votre application. N'essayez pas d'attribuer une touche de raccourci à tout.

- Choisissez les nouvelles touches de raccourci les plus mnémoniques possible : elles seront plus faciles à apprendre et à se remémorer. Par exemple, Ctrl P serait un bon raccourci pour un élément de menu nommé Modifier la page.

- Use Shift Ctrl letter for functions that reverse or extend another function. For example, Ctrl Z and Shift Ctrl Z for Undo and Redo.

  #### Unicode entry shortcuts

  Note that you cannot use Shift Ctrl A-thru-F or Shift Ctrl 0-thru-9 for your own purposes, as these combinations are used to enter unicode characters in text fields.

- N'utilisez pas Ctrl nombre ou des touches de fonction numérotées comme touche de raccourci à moins que le nombre n'ait un intérêt évident pour l'action. Par exemple, Ctrl 2 et Ctrl 3 peuvent être des touches de raccourci pour Affichage Affichage 2D et Affichage Affichage 3D dans une application de modélisation 3D.

- N'utilisez pas des combinaisons Alt touche pour les touches de raccourcis car cela peut rentrer en conflit avec le gestionnaire de fenêtres ou les touches d'accès au menu.

- N'utilisez pas des symboles qui ont besoin de Maj ou d'autres modificateurs dans une partie du raccourci, par exemple Ctrl%. Souvenez-vous que des symboles qui peuvent être atteints sans touche de modification sur votre clavier peuvent être plus difficiles à atteindre sur d'autres claviers internationaux.

- N'attribuez pas de touches de raccourci aux éléments de menu qui changent dans le temps, par exemple une liste de fenêtres ouvertes dans le menu Fenêtre ou une liste de fichiers récemment utilisés dans le menu Fichier. Attribuez plutôt des touches d'accès à ces éléments.

- N'utilisez aucune des touches de raccourci standards énumérées dans la pour vos propres besoins même si votre application ne prend pas en charge ces fonctions. Cela aide à renforcer la cohérence entre toutes les applications GNOME.

### Touches de raccourci standard d'application

Si votre application utilise une des fonctions standards énumérées dans les tableaux suivants, utilisez le raccourci clavier standard recommandé pour cette fonction.

#### Touches de raccourci et d'accès standards des applications GNOME - menu Fichier

Fonction | Raccourci | Description
--- | --- | ---
New | Ctrl N | Crée un nouveau document
Open | Ctrl O | Ouvre un document
Save | Ctrl S | Enregistre le document actuel
Print | Ctrl P | Imprime le document actuel
Close | Ctrl W | Ferme le document actuel
Quit | Ctrl Q | Quitte l'application

#### Touches de raccourci et d'accès standards des applications GNOME - menu Édition

Fonction | Raccourci | Description
--- | --- | ---
Undo | Ctrl Z | Annule la dernière opération
Redo | Shift Ctrl Z | Retablit la dernière opération annulée
Cut | Ctrl X | Coupe la zone sélectionnée et l'enregistre dans le presse-papier
Copy | Ctrl C | Copie la zone sélectionnée vers le presse-papier
Paste | Ctrl V | Colle le contenu du presse-papier à l'emplacement du curseur ou de la souris
Duplicate | Ctrl U | Duplique les éléments actuellement sélectionnés et les ajoute à la même fenêtre sans modifier le presse-papier
Select All | Ctrl A | Sélectionne tous les éléments du contrôle ou de la fenêtre qui possèdent le focus
Invert Selection | Ctrl I | Sélectionne tous les éléments du contrôle ou de la fenêtre qui ne possédaient pas le focus auparavant et désélectionne tous ceux qui étaient sélectionnés
Delete | Del | Supprime la sélection
Find... | Ctrl F | Trouve les occurrences correspondantes dans le document actuel, en les mettant en évidence in situ
Search... | Ctrl F (see note below) | Cherche les occurrences en correspondance dans plusieurs documents, fichiers ou d'autres sources externes
Find Next | Ctrl G | Recherche la prochaine occurrence
Replace... | Ctrl H | Cherche et remplace les occurrences
Rename | F2 | Bascule l'étiquette de l'élément sélectionné en mode édition, permettant à l'utilisateur de saisir un nouveau nom.

#### Recherche et remplacement

Si votre application a besoin à la fois des éléments de menu Édition Trouver et Édition Rechercher, utilisez Maj Ctrl F comme raccourci pour Rechercher.

#### Touches de raccourci et d'accès standards des applications GNOME - Menu Affichage

Fonction | Raccourci | Description
--- | --- | ---
Zoom In | Ctrl Plus | Zoom in on the document
Zoom Out | Ctrl Minus | Zoom arrière dans le document
Normal Size | Ctrl 0 | Rétablit le niveau de zoom à la taille normale (généralement 100 %)
Refresh | Ctrl R | Redessine la vue actuelle du document sans vérifier si le contenu été modifié
Reload | Ctrl R (see note below) | Recharge le document actuel en mettant à jour à partir de la source si nécessaire
Properties | Alt Enter | Display the selected object's Properties window. May alternatively appear on the File menu if the document itself is the only object in the application whose properties can be inspected.

#### Recharger et rafraîchir

Si votre application a besoin à la fois des éléments de menu Affichage Recharger et Affichage Rafraîchir, utilisez Maj Ctrl R comme raccourci pour Recharger.

#### Touches de raccourci et d'accès standards des applications GNOME - menu Signets

Fonction | Raccourci | Description
--- | --- | ---
Add Bookmark | Ctrl D | Ajoute un signet pour l'emplacement actuel
Edit Bookmarks... | Ctrl B (see note below) | Ouvre une fenêtre dans laquelle l'utilisateur peut modifier et organiser les signets enregistrés

#### Graisse et modification des signets

Si votre application a besoin à la fois des éléments de menu Format Gras et Signets Modifier les signets, utilisez Maj Ctrl D comme raccourci pour Modifier les signets.

#### Touches de raccourci et d'accès standards des applications GNOME - menu Aller à

Fonction | Raccourci | Description
--- | --- | ---
Back | Alt Left | Va à l'emplacement précédent dans la série de navigation
Next | Alt Right | Va à l'emplacement suivant dans la série de navigation
Up | Alt Up | Remonte d'un niveau dans la série de navigation
Home | Alt Home | Va à la page de démarrage définie par l'utilisateur ou l'application
Location... | Ctrl L | Affiche ou donne le focus à un champ de saisi dans lequel l'utilisateur peut saisir une nouvelle adresse ou un nouvel emplacement à afficher

#### Touches de raccourci et d'accès standards des applications GNOME - menu Format

Fonction | Raccourci | Description
--- | --- | ---
Bold | Ctrl B | Alterne la sélection de texte entre gras et normal
Underline | Ctrl U | Souligne/efface le souligné du texte sélectionné
Italic | Ctrl I | Alterne la sélection de texte entre italique et normal

#### Touches de raccourci et d'accès standards des applications GNOME - menu Aide

Fonction | Raccourci | Description
--- | --- | ---
Contents | F1 | Affiche la page de sommaire de l'aide de l'application actuelle

#### Touches de raccourci standard du gestionnaire de fichiers

Les touches de raccourci suivantes sont utilisées par beaucoup de gestionnaires de fichiers et ne doivent normalement pas être sur-définies par votre application.

##### Touches de raccourci et d'accès standards du gestionnaire de fichiers

Fonction | Raccourci | Description
--- | --- | ---
Changement de fenêtre principale | Alt Tab, Shift Alt Tab | Déplace le focus vers la prochaine ou la précédente fenêtre de premier niveau sur le bureau
Changement de tableau de bord | Ctrl Alt Tab, Shift Ctrl Alt Tab | Déplace le focus vers le prochain ou le précédent tableau de bord sur le bureau
Se déconnecter | Ctrl Alt Del | Ouvre la boîte de dialogue de déconnexion de la session
Menu Fenêtre | Alt Space | Ouvre le menu Fenêtre
Close | Alt F4 | Ferme la fenêtre qui possède le focus
Restore | Alt F5 | Restaure la fenêtre qui possède le focus à sa taille précédente
Switch secondary windows | Alt F6, Shift Alt F6 | Switch focus to the next or previous secondary window associated with the application ( )
Move | Alt F7 | Déplace la fenêtre qui possède le focus
Resize | Alt F8 | Redimensionne la fenêtre qui possède le focus
Minimize | Alt F9 | Minimise la fenêtre qui possède le focus
Maximize | Alt F10 | Maximise la fenêtre qui possède le focus
Full Screen | Ctrl F11 | Affiche la fenêtre dans le mode plein écran, sans bordure, barre de menu, barre d'outils ou d'état

#### Touches de raccourci standards de navigation d'élément graphique

Les touches de raccourci suivantes sont réservées pour la navigation par clavier utilisées par divers éléments graphiques de GNOME et ne doivent normalement pas être sur-définis par votre application.

##### Touches standards de navigation clavier pour les éléments graphiques

Clé/Touche | Fonction
--- | ---
Tab, Shift Tab | Déplace le focus clavier vers le précédent/prochain contrôle
Ctrl Tab, Shift Ctrl Tab | Déplace le focus clavier hors du composant graphique qui le contient vers le précédent/prochain contrôle dans les situations où la touche tab est utilisée pour une autre fonction (par ex. GtkTextView)
Ctrl F1 | Affiche une infobulle pour le contrôle qui possède actuellement le focus
Shift F1 | Affiche une aide sensible au contexte pour le contrôle ou la fenêtre qui possède actuellement le focus
F6, Shift F6 | Donne le focus au prochain/précédent panneau dans une fenêtre GtkPaned
F8 | Donne le focus à la barre de séparation dans une fenêtre à panneau
F10 | Donne le focus à la barre de menu de la fenêtre
Shift F10 | Affiche un menu contextuel pour les objets actuellement sélectionnés
Space | Bascule l'état de sélection de la case à cocher, du bouton radio ou du bouton bascule possédant le focus
Return | Active le bouton, l'élément de menu, etc. possèdant le focus
Home, End | Sélectionne/déplace le premier élément dans le composant graphique sélectionné
PageUp, Ctrl PageUp, PageDown, Ctrl PageDown | Fait défiler la vue sélectionnée page par page vers le haut/la gauche/le bas/la droite

#### Touches supplémentaires de raccourci de navigation pour les éléments graphiques

Les raccourcis de navigation suivants, dans le style emacs, sont toujours disponibles dans les champs de saisie de texte dans GNOME 2.0 (en sélectionnant le schéma « emacs » dans la boîte de dialogue des préférences de Raccourcis clavier) mais sont désactivées par défaut. Comme certains utilisateurs veulent toujours les utiliser, ne les sur-définissez pas pour vos propres besoins lorsqu'un contrôle de saisie de texte possède le focus.

##### Touches de navigation style Emacs pour les éléments graphiques

Clé/Touche | Fonction
--- | ---
Ctrl A | Déplace le curseur au début de la ligne
Ctrl D | Supprime le caractère suivant/sous le curseur
Ctrl E | Déplace le curseur à la fin de la ligne
Ctrl K | Supprime à partir du curseur jusqu'à la fin de la ligne
Ctrl U | Supprime la ligne actuelle
Ctrl W | Coupe vers le presse-papier
Ctrl Y | Colle à partir du presse-papier
Ctrl Space | Place une marque
Ctrl Del, Alt D | Supprime à partir du curseur jusqu'à la fin du mot
Ctrl Backspace | Supprime à partir du curseur jusqu'au début du mot
Alt Space | Supprime tous les espaces autour du curseur en réinsérant un espace unique
Alt\ | Supprime tous les espaces autour du curseur

### Interaction clavier avec les applications du tableau de bord (applets)

Il est possible de naviguer au clavier dans les tableaux de bord depuis GNOME 2.0. Puisque votre tableau de bord peut obtenir le focus clavier, vous devez vous assurer qu'il est possible d'y naviguer via le clavier.

Les règles pour la navigation clavier du tableau de bord de l'application sont quasiment les mêmes que celles des autres fenêtres. Cependant il y a une différence importante :

- N'utilisez pas la touche tab car c'est le moyen de déplacer le focus entre les contrôles dans une application de tableau de bord. Utilisez les touches fléchées pour cela à la place.

Lorsqu'un objet sur un tableau de bord possède le focus, la touche Tab déplace normalement le focus vers le prochain objet sur le tableau de bord. Si votre application de tableau de bord utilise également la touche Tab pour sa propre navigation interne, l'utilisateur devra à la place appuyer sur Ctrl Tab pour déplacer le focus en dehors de votre application de tableau de bord. Cette incohérence se ferait au détriment de l'expérience de l'utilisateur.