web-dev-qa-db-fra.com

Quelle est la meilleure méthode pour annuler une action?

Imaginez pour des raisons de simplicité, j'ai une liste de tâches d'application Web, où chaque élément est une ligne et une coche à côté. Lorsque l'utilisateur clique sur la coche, la tâche est alors "terminée" et la ligne s'estompe. Malheureusement, les utilisateurs vérifient parfois la mauvaise tâche. Je souhaite ajouter une fonctionnalité d'annulation. J'ai pensé à trois méthodes et je ne peux pas choisir entre elles:

  1. Bouton Annuler.
  2. Au lieu de disparaître, laissez l'élément mais rayez-le et convertissez la coche en bouton "restaurer".
  3. Lorsqu'un utilisateur clique sur la coche, une boîte de dialogue de confirmation (modale ou autre) s'affiche.

J'ai vu les trois options utilisées dans diverses configurations (par exemple, le débordement de pile utilise 3 pour l'action "indicateur", Trello utilise une sorte de bouton d'annulation - il conserve un journal des actions que vous pouvez annuler, etc.). ne des options est-elle préférable? Y a-t-il une meilleure option?

8
Mikle

J'aime le comportement de la messagerie Google. Il affiche une fenêtre contextuelle d'annulation:

gmail undo

La suppression (et l'action "Effacer les tâches terminées") est également une bonne (et courante) solution pour les listes de tâches.

7
alexeypegov

J'aime la façon dont Amazon gère la suppression des éléments d'une liste de souhaits:

enter image description here

Edit: Une petite explication ...

  • Les éléments supprimés sont remplacés par une commande d'annulation où l'élément était , ce qui maintient le contexte des utilisateurs intact (contrairement à la barre de notification de Google ou à une annulation globale "de l'autre côté de l'écran).
  • Il ne s'agit d'aucune boîte de confirmation , modale ou autre, pour se mettre à la place de l'utilisateur. Cela serait utile pour les suppressions destructives sans annulation, mais pas pour les tâches "légères" courantes. N'utilisez jamais d'avertissement lorsque vous voulez dire "annuler".
  • Une animation subtile donne à l'utilisateur le sens intuitif d'un élément "disparaissant" et "réapparaissant" visiblement - là encore, à l'endroit où il était.
13
Sam Pierce Lolla

Je dirais que c'est une question d'opinion actuelle. J'entends par là que vous devriez avoir au moins 2 vues différentes. À savoir:
1) Incomplet/ToDo
2) Terminé/Terminé

Marquer ensuite une tâche comme terminée simplement l'éloigne du Incomplete / ToDo vue. Alors, dans le complete / Done vue, vous affichez simplement l'élément avec une coche à côté, et vous barrez le texte. Si quelqu'un marque accidentellement un élément comme terminé, il suffit alors de décochez-le dans le Complete / Done vue.

enter image description here

4
JohnGB

Quelle que soit la méthode que vous utilisez finalement, gardez à l'esprit le cas contraire, c'est-à-dire lorsque l'utilisateur veut vraiment marquer la tâche comme terminée: laquelle des méthodes impliquerait moins de confusion/agacement pour un utilisateur qui veut vraiment marquer cette tâche as "Done"? La réponse à cette question est la réponse à votre question.

3
Francisco Alvarado

Le type de notifications "action terminée"/"annuler action" utilisées par Google et Amazon qui ont été mentionnées précédemment est nécessaire car l'ancien état avant la réalisation de l'action n'est plus visible. Par exemple, un e-mail a été déplacé hors de la boîte de réception et dans la corbeille. Par conséquent, l'inverse de cette action pour l'annuler n'est pas possible dans la vue actuelle.

Si le résultat de l'action est toujours visible et donc "impossible à annuler" avec la même action, on pourrait faire valoir que toute notification supplémentaire n'est pas nécessaire. Si vous décidez de barrer l'élément plutôt que de le faire disparaître, l'utilisateur saura (ou du moins sera disposé à expérimenter) que cliquer à nouveau devrait décocher la case et inverser la barrée. Par conséquent, je recommanderais le barré sur le fondu (avec une option pour afficher/masquer tous les éléments terminés?) Car ce serait l'interaction la plus simple avec le moins d'encombrement à l'écran.

0
James