web-dev-qa-db-fra.com

Pourquoi les barres de défilement reviennent à la distance de défilement d'origine lorsque la souris est déplacée trop loin sur le côté?

Lorsque vous faites glisser la barre de défilement à l'aide de la souris, le contenu de la barre de défilement monte et descend au fur et à mesure que la barre se déplace avec la souris. Mais si vous maintenez le bouton de la souris enfoncé et déplacez le pointeur sur le côté pendant environ 100 pixels (testé sur les machines Windows), la barre de défilement revient à son emplacement avant d'être déplacée et le volet de défilement avec. En rapprochant à nouveau la souris, la barre de défilement suivra à nouveau la souris. Y a-t-il un avantage ou une explication à ce comportement d'un point de vue UX?

25
SimonT

Je pense que c'est un moyen de permettre d'annuler une commande à moitié exécutée. Imaginez qu'un utilisateur soit à 45% sur une longue page. L'utilisateur tente d'effectuer une opération de glissement sur le contenu de la fenêtre (peut-être pour déplacer une icône ou sélectionner du texte), mais "attrape" par inadvertance le curseur de la barre de défilement à la place, ce qui entraîne le défilement de la page jusqu'à X% vers le bas et laisse l'utilisateur à doivent essayer de trouver sa place d'origine. Pour atténuer ce scénario, la barre de défilement est conçue de sorte que les utilisateurs puissent "décaler" le curseur et ainsi annuler la commande. Étant donné que le défilement se produit au fur et à mesure que le curseur se déplace, les utilisateurs peuvent voir qu'ils défilent au lieu de sélectionner du texte ou wveveer, afin qu'ils aient la possibilité de réaliser l'erreur et de récupérer avant de relâcher le bouton de la souris.

Ce comportement n'est pas propre aux barres de défilement. Les boutons de commande, les éléments de menu, les cases à cocher et les boutons radio s'annulent également si l'utilisateur fait disparaître le contrôle sans relâcher le bouton de la souris. Ces autres commandes le font avec environ 0 pixels de balayage. Je pense que le curseur de la barre de défilement a une "zone tampon" de ~ 100 pixels car le glisser est difficile à faire, donc ils permettent à l'utilisateur une plage d'erreur lors du défilement délibéré pour éviter d'annuler accidentellement un défilement.

Je ne sais pas si ça marche vraiment. Autrement dit, je ne sais pas si les utilisateurs qui activent accidentellement ces commandes réagissent en faisant pivoter la commande sans relâcher le bouton de la souris. Je suppose que la grande majorité des utilisateurs (et pas quelques concepteurs d'interface utilisateur) ne connaissent pas cette fonctionnalité des contrôles. D'un autre côté, la réaction naturelle à un mauvais clic sur quelque chose est peut-être de "s'en éloigner", une généralisation de la heuristique de proximité . Peut-être que les utilisateurs font ces annulations sans vraiment s'en rendre compte.

20
Michael Zuschlag

Pour autant que je sache, il n'y a pas de bonne raison . Le comportement a été lancé par Microsoft (Windows) et malheureusement repris dans d'autres interfaces utilisateur telles que KDE .

Voici quelques e-mails supplémentaires conversation en cours sur le sujet.

Beaucoup de gens (y compris mysef) trouvent cela ennuyeux pour la simple raison que vous regardez le contenu de Windows tout en faisant glisser et ne voyez donc pas que vous déplacez trop la souris horizontalement.

Voir aussi cet article et lire certains des commentaires. Notez l'utilisation fréquente du mot "ennuyeux".

8
Bart Gijssens

Un avis de l'autre côté:

Oh ma parole j'aime ce comportement. J'ai déménagé sur un Mac pour travailler et ça me manque énormément.

Lorsque vous travaillez ou lisez un document ou une page Web, vous pouvez faire défiler la barre vers le haut ou vers le bas pour vérifier quelque chose, puis la déposer à nouveau pour continuer à partir de là où vous étiez. Comme cela a déjà été dit ici, il s'agit d'annuler une opération sur un élément d'interface utilisateur dont vous vous êtes éloigné, et c'est cohérent avec d'autres éléments, et c'est précieux. Imaginez que vous cliquiez sur le mauvais bouton dans une boîte de dialogue, que vous vous en rendiez compte lorsque vous le voyez s'allumer et que vous ne puissiez pas empêcher ce clic de se produire en le faisant glisser loin de là.

Je suis venu sur cette page en cherchant un moyen d'obtenir ce comportement sur un Mac. Lorsque j'attrape la barre de défilement et que je déplace la souris, j'ai perdu ma place et je dois la traquer à nouveau. C'est exaspérant dans un contexte de travail où je lis des documents et des documents de recherche et je ne peux pas facilement recouper les choses dans le même document.

6
Peter

Une interface utilisateur doit toujours fonctionner d'une manière qui soit plausible à l'esprit de l'utilisateur, sur la base de son expérience de la manipulation d'objets dans le monde réel. La barre de défilement est verrouillée en mouvement vertical ou horizontal. Si vous faites glisser le pointeur de votre souris trop loin dans une direction où le défilement ne peut pas suivre, il est illogique à un moment donné que le défilement continue de se déplacer avec la souris. Le pointeur de la souris est comme une main qui pousse ou ramasse des objets. Des actions à distance violeraient cette attente.

2
Franchesca

Cela se produit également si vous faites glisser une barre verticale trop haut, jusqu'en haut de l'écran par exemple (probablement 100 pixels, je n'ai pas testé). EDIT: La plage est beaucoup plus petite pour la prise de vue verticale, par rapport à l'horizontale.

Je voudrais faire défiler vers le haut de la page, alors je saisis à moitié aveuglément la barre de défilement et je la fais glisser tout en haut. En allant trop loin, cela revient à l'endroit où je me trouvais auparavant. C'est vraiment agaçant.

C'est en contraste avec de tels éléments au X en haut à droite pour fermer les fenêtres, où vous n'avez pas besoin de cliquer avec précision sur le X mais juste n'importe où dans le coin en haut à droite de la fenêtre (lorsqu'il est agrandi). Je ne regarde jamais là-haut quand je veux fermer quelque chose, il suffit de claquer la souris vers le haut à droite et de cliquer.

Une bascule marche/arrêt à l'échelle du système serait grandement appréciée, car il y a apparemment des gens qui l'aiment.

0
Joel