Que doit-il se passer lorsqu'un utilisateur clique sur un bouton qui déclenche une action qui prend peu de temps à terminer, montrant un spinner occupé pour indiquer le traitement?
[click]↖
⇒ [click] ↖⚙
- Le curseur de la souris se transforme en curseur de spinner occupé par le système[click]
⇒ ⚙
- Le spinner occupé remplace entièrement le bouton[click]
⇒ [ ⚙ ]
- Le spinner occupé remplace le texte du bouton[click]
⇒ [click ⚙]
- Le spinner occupé apparaît à l'intérieur du bouton[click]
⇒ [click] ⚙
- Le spinner occupé apparaît à l'extérieur du bouton[click]
⇒ [⚙ please wait...]
- Le spinner occupé remplace le texte du bouton, accompagné du texte[click]
⇒ ⚙ please wait...
- Le spinner occupé remplace entièrement le bouton, accompagné du texteLaquelle des solutions ci-dessus est la plus conviviale?
La réponse qui est la plus conviviale est toujours que cela dépend. Cela dépend de nombreux facteurs dont le principal est qui est votre public cible? Quels sont leurs connaissances et leurs modèles mentaux.
Pour cet exemple, comme je n'ai aucune idée du contexte de l'action, je recommanderais de penser à peu de choses:
Pour votre exemple
[cliquez] ↖ => [cliquez] ↖⚙ - Le curseur de la souris se transforme en curseur de spinner occupé par le système
[click] => ⚙ - Le spinner occupé remplace entièrement le bouton
[click] => [⚙] - Le spinner occupé remplace le texte du bouton
[click] => [click ⚙] - Le spinner occupé apparaît à l'intérieur du bouton
[click] => [click] ⚙ - Le spinner occupé apparaît à l'extérieur du bouton
[cliquez] => [⚙ veuillez patienter ...] - Le spinner occupé remplace le texte du bouton, accompagné du texte
[cliquez] => ⚙ veuillez patienter ... - Le spinner occupé remplace entièrement le bouton, accompagné du texte
À mon avis, les 3ème et 6ème options sont les meilleures, mais je suggérerais de trouver des études à ce sujet ou d'effectuer un test d'utilisabilité et de voir comment vos utilisateurs réagissent à ces différentes approches.
[cliquez] ↖ => [cliquez] ↖⚙
[cliquez] => ⚙
[cliquez] => [⚙]
[cliquez] => [cliquez ⚙]
[cliquez] => [cliquez] ⚙
[cliquez] => [⚙ veuillez patienter ...]
[cliquez] => ⚙ veuillez patienter ...
RÉSUMÉ
Les dernières et avant-dernières options (désactivation du bouton) sont les meilleures sélections.
Je crois qu'aucun des exemples.
Je préférerais commencer à charger le squelette HTML et CSS de tout ce que ce bouton doit remplir. Supposons que lorsque les utilisateurs cliquant sur le bouton, il fait une demande REST pour remplir un tableau, dès que l'utilisateur clique sur le bouton, il commence à charger le squelette HTML et CSS, cette fois dans l'animation est utilisée comme un temps d'attente pour l'utilisateur.
Ceci est un exemple bien expliqué de ce que je veux dire: BLOG - arrêtez d'utiliser-chargement-spinner-theres-quelque chose de mieux
Je ne changerais jamais le curseur de la souris. À mon humble avis, le meilleur UX est de désactiver le bouton dès qu'il est cliqué et de changer le texte du bouton en 'Veuillez patienter ...'/'Chargement ...'. Appelez-le à l'ancienne, cela fonctionne mieux pour les mises en page Web et mobiles.
Changer le curseur de la souris n'est pas une bonne idée et risque de dérouter l'utilisateur. Le spinner occupé est la conséquence d'une action entreprise par l'utilisateur, il doit donc être affiché en relation avec cette action.
Le spinner doit être suffisamment visible pour ne pas être manqué par l'utilisateur. Si vous ne remplacez que le texte à l'intérieur du bouton, ou si vous faites apparaître la double flèche dans le bouton, l'utilisateur peut facilement ignorer une si petite modification.
Je voudrais changer l'état du bouton pour donner à l'utilisateur un retour visuel immédiat que son clic a été enregistré, et ajouter le spinner à côté avec le message "Veuillez patienter". Le libellé du message pourrait être amélioré si vous avez un rédacteur de micro-copie. Donner une estimation du temps serait également une bonne chose, si c'est réaliste.