La souris, et les dispositifs de pointage
L'interface utilisateur graphique de Mac OS X est optimisée pour l'utilisation d'un dispositif de pointage, comme une souris. Cependant, beaucoup d'utilisateurs préfèrent interagir avec l'ordinateur à l'aide du clavier ; sous Mac OS X, les utilisateurs peuvent permettre au clavier l'accès à toutes les fonctions disponibles à l'aide d'un dispositif de pointage.
Sous Mac OS X, le dispositif de pointage standard est la souris. Les utilisateurs peuvent lui substituer d'autres dispositifs, comme une boule ou un stylet qui permettent la manipulation directe des objets sur l'écran.
Déplacer la souris sans appuyer sur le bouton déplace le curseur (ou pointeur) sur l'écran. Ce pointeur peut prendre des formes différentes selon le contexte de l'application, et sa position. Par exemple, dans un traitement de texte, le pointeur est en forme de I quand il est sur du texte, et se transforme en flèche quand il est sur une palette d'outils. Ne modifiez la forme du pointeur que pour fournir une information sur la fonction du pointeur.
Le déplacement de la souris modifie seulement la position du pointeur (et accessoirement sa forme). Presser sur le bouton de la souris indique une intention de faire quelque chose, et le relâcher lance l'action.
Ces recommandations s'appliquent aux souris à un seul bouton ou au bouton principal d'une souris à plusieurs boutons. L'utilisateur peut choisir lequel des boutons d'une souris à plusieurs boutons sera le bouton principal.
Un clic a deux composantes : abaisser le bouton, puis le relâcher sans changer la souris de place. (Si la souris change de place entre deux, c'est un glissement, pas un clic).
L'effet du clic doit être immédiat et évident. Si la fonction du clic est de lancer une action, (par exemple, cliquer sur un bouton), la sélection intervient quand on presse le bouton, et l'action intervient quand le bouton est relâché. Par exemple, si un utilisateur presse la souris pendant que le curseur est sur un bouton situé sur l'écran, il sélectionne le bouton ; si ensuite le pointeur se déplace en dehors du bouton avant de relâcher la souris, le bouton n'est pas cliqué. Si on presse un bouton sur l'écran, et qu'on se déplace sur une autre bouton pour y relâcher la souris, aucun bouton n'est cliqué.
Un second clic suit immédiatement le premier. Si les deux clics sont assez rapprochés dans le temps (défini dans les préférences de la souris), et en position (normalement sur deux points contigus), ils constituent un double clic.
Le double clic est couramment utilisé comme un raccourci pour d'autres actions, comme taper Cmd-O pour ouvrir un document, ou se déplacer pour sélectionner un mot. Il ne doit jamais être le seul moyen de déclencher une action, car tout le monde n'est pas capable de faire un double clic.
Quelques applications supportent un triple clic. par exemple, dans un traitement de texte, le premier clic définit le point d'insertion, le second sélectionne tout un mot, et le troisième sélectionne toute la phrase ou le paragraphe.
En maintenant la pression pendant que la position de la souris ne change pas sur certains objets on obtient un comportement particulier ; par exemple, maintenir la pression sur les flèches des barres de défilement a le même effet que des clics répétés, et dans le Dock, cela affiche un menu ; presser une icône dans le Finder sélectionne l'icône mais ne l'ouvre pas.
Le glissement consiste à presser le bouton de la souris puis à déplacer le curseur vers une nouvelle position, et finalement à relâcher le bouton. L'utilisation du glissement permet la sélection de blocs de texte, le choix d'un item de menu, la sélection d'une gamme d'objets, le déplacement d'une icône d'un endroit à un autre, ou le rétrécissement ou l'expansion d'un objet.
Glisser un objet graphique doit le déplacer en totalité (ou une représentation transparent de celui-ci), pas seulement le contour de l'objet.
Votre application peut empêcher un objet d'être déplacé au delà de certaines limites, comme les bords d'une fenêtre. Si un utilisateur déplace un objet et relâche le bouton de la souris en dehors des limites, l'objet reste à sa position initiale. Si l'utilisateur dépasse les limites puis revient à l'intérieur avant de relâcher le bouton, l'objet se met à sa nouvelle position. Votre application peut aussi provoquer le défilement automatique d'un document si un utilisateur déplace un objet au delà de la limite de la fenêtre.
Si un utilisateur déplace un objet-relai (proxy object) à un endroit qui l'amène à disparaître, affichez le nuage (poof) pour indiquer que l'objet-relai va disparaître quand la souris sera relâchée à cet endroit.
Si un utilisateur choisit un item et commence à le glisser, mais relâche la souris après un déplacement de trois pixels ou moins, l'item n'est pas déplacé.
Le pavé tactile fournit une autre forme d'interaction sur les ordinateurs portables. Les gens utilisent leurs doigts pour réaliser les actions qu'ils auraient autrement accomplies à l'aide de la souris, comme :
- déplacer le curseur
- sélectionner ou activer des éléments de l'interface
- le défilement dans une fenêtre active ou en tâche de fond
- l'affichage d'un menu contextuel.
En plus de ces actions, un pavé tactile multi-touche reconnaît des gestes avec des comportements plus complexes, comme :
- pincer en ouvrant, ou pincer en fermant : zoom (+ ou -) sur une image active ou sur la vue qui est sous le pointeur
- rotation : fait tourner la vue pointée dans la direction du mouvement
- balayage à trois doigts : navigue d'avant en arrière dans un ensemble de vues ou de pages dans la fenêtre active.
- balayage à quatre doigts : active ou désactive Exposé, ou passe d'une application active à une autre.
Si vous décidez de supporter la gestuelle multi-touche dans votre application, gardez à l'esprit ces recommandations :
• Répondez aux gestes de façon cohérente de façon à ce que les utilisateurs sachent à quoi s'attendre. En particulier, évitez de redéfinir les gestes standards.
• Gérez les gestes aussi efficacement que possible : ils doivent donner à l'utilisateur l'impression d'une manipulation directe, et fournir une rétroaction immédiate en temps réel. Pour y arriver, faites attention à réaliser des opérations peu coûteuses pendant la durée du geste.
• Assurez-vous que les gestes s'appliquent aux éléments de l'interface dont la taille est appropriée. Les gestes sont généralement plus efficaces quand ils s'appliquent à un objet spécifique ou à une vue dans une fenêtre, car ces vues font généralement l'objet de l'attention de l'utilisateur. Commencez par identifier l'objet ou la vue que l'utilisateur est censé manipuler et faites-en la cible de la gestuelle. Ne prenez pour cible un objet de niveau supérieur, ou un objet conteneur que si cela a un sens dans votre application.
• Prenez des précautions pour personnaliser des gestes. Un geste personnalisé peut être difficile à découvrir, ou à se rappeler. Si ce geste semble gratuit, les utilisateurs l'éviteront. Si vous pensez que vous devez définir un geste personnalisé, rendez le facile à exécuter, et facile à distinguer des gestes standards.
Note : les utilisateurs peuvent invalider la gestuelle dans les préférences du Pavé tactile, si bien que votre application ne doit pas compter sur la disponibilité d'un geste spécifique pour exécuter une action.
Comme les suivantes, cette section fournit une utile révision des gestes et des actions que nous accomplissons sans y penser en utilisant notre Mac. Il n'est pas inutile d'en prendre un peu conscience, et j'espère que la découverte de ces pages (si vous n'avez jamais parcouru les AHIG -Apple Human Interface Guidelines- en anglais), pourra être profitable à beaucoup d'entre vous.
Au delà de la protestation que j'entends mener contre la dégradation de l'interface utilisateur, c'est un effet secondaire qui me semble pouvoir être intéressant ; et comme c'est exprimé en français, le public francophone de MacPuissanceDix n'aura plus guère d'excuses... à ignorer les subtilités de l'interface utilisateur graphique du Mac.