Je me suis habitué au paradigme GUI de pre-select on mouse-down, action on mouse-up
. En fait, je m'y fie, annulant parfois une action indésirable après avoir appuyé sur la souris en faisant glisser l'extérieur de la zone de clic, puis en relâchant la souris.
Cependant, ce n'est qu'une norme arbitraire et peut ne pas être universelle. Par exemple, j'ai remarqué que dans le volet d'en-tête de Microsoft Outlook, la sélection de catégorie se produit en appuyant sur la souris (et interrompt les tentatives de glissement).
Avec l'introduction d'interfaces tactiles, la ligne de démarcation est encore plus nette. iOS "rétracte" automatiquement les événements avec le doigt vers le bas et les convertit en événements de type glisser-déplacer lorsque le doigt se déplace après le doigt vers le bas.
Quelles sont les situations dans lesquelles il est préférable d'agir sur la souris? Quelles sortes d'actions sont meilleures de cette façon, plutôt que d'attendre la souris (/ finger) -up?
Je pense que vous constaterez que la plupart des processus de sélection agissent en cliquant sur le bouton de la souris - en choisissant des éléments dans les listes, les tableaux, les barres d'en-tête d'onglet, etc. la page de contenu jusqu'à ce que la souris soit levée.
Avec les onglets, il est bon de faire basculer le contenu vers le bas de la souris, car si l'onglet peut être déplacé (vers sa propre fenêtre ou simplement pour réorganiser les onglets), vous pouvez voir le contenu que vous êtes sur le point de faire glisser avant de commencer à déplacer la souris.
La modification du focus de saisie entre les champs ou la modification de la position du curseur dans le texte est également effectuée avec la souris vers le bas, ce qui vous permet ensuite de commencer immédiatement à sélectionner un bloc de texte. Devoir cliquer, relâcher et cliquer à nouveau pour commencer à sélectionner du texte serait ennuyeux.
De toute évidence, la souris vers le bas est une condition préalable à une opération de glissement et, par conséquent, selon le contexte, la souris vers le bas définit les conditions de pré-glissement - par exemple, le démarrage d'une sélection Marquee dans une application de peinture ou de dessin.
Je pense que cela va être répandu dans les domaines de manipulation directe où vous interagissez directement avec le contenu pour exactement cette raison - la configuration et la préparation du glissement, et selon ce que le glissement va faire, cette préparation peut nécessiter un retour visuel ou changement d'état sur le bouton vers le bas.
Je ne pense pas que nous puissions nous passer d'actions sur la souris vers le bas - c'est une excellente occasion de fournir une rétroaction immédiate sur l'action imminente - que ce soit à la suite de la souris vers le haut ou par glisser ou quoi que ce soit d'autre.
TL; DR Stick to mouse up, c'est ce que tout le monde fait, l'utilisateur s'y attendra.
Gardez à l'esprit que dans le monde réel, nous sommes beaucoup plus précis que sur les appareils.
Quand on enfonce un bouton, il n'y a pas de retour en arrière, le bouton est enfoncé. Qu'il réagisse sur Pousser vers le bas ou relâcher n'est pas pertinent, le bouton a été enfoncé.
Avec les curseurs de souris, c'est différent. Lorsque le bouton de la souris est enfoncé, vous avez toujours la liberté de déplacer votre curseur, afin de toucher une autre cible que vous pourriez avoir manquée en appuyant vers le bas.
D'après ce que j'ai testé, Windows ou Mac OS utilise des contrôles de formulaire (boutons, cases à cocher) qui réagissent à la souris vers le bas, mais uniquement pour afficher l'action réelle qui sera effectuée à la souris vers le haut. L'utilisateur a "beaucoup de temps" pour détecter que l'action déclenchée n'est pas celle qu'il souhaite et retirer ses curseurs de la cible avant de relâcher le bouton.
HTML/JavaScript, avec le texte existant déjà rempli, déplace le curseur de texte lors du mousedown, pas au clic, et non au mouseup. Cela est nécessaire car vous pouvez sélectionner une plage de texte, une zone, en l'essuyant puis en relâchant la souris.
Il existe un conflit fondamental entre le mousedown pour effacer une zone pour le sélectionner et le mousedown pour faire glisser un objet.
Dans tous les cas, le mousedown doit utiliser un retour visuel et éventuellement auditif/tactile.
Je suis d'accord avec Roger.
Dans mon esprit, l'événement Mouse Down est devenu analogue à l'action du monde réel consistant à toucher/entrer en contact avec quelque chose. Donc en bref, je pense que la souris doit toujours montrer le contact avec l'élément en question.