Users sometimes need to stop a command— for example, because it is
taking too long. Your application should let users stop commands in
progress, even if stopping a command cannot undo or "roll back"
all the command's effects.
Guidelines
-
Place a Stop or Cancel
button, which can also be activated by pressing Esc,
near the progress animation for the interruptable command.
-
Label the button Cancel if the whole
operation can be cleanly abandoned with no side effects, leaving the
system in the state it was in prior to the operation beginning.
Terminate the command immediately when the user presses this button.
-
Label the button Stop if the command can
be interrupted, but its effects up to that point cannot (or should
not) be reversed. When the user presses this button, open an alert box
that warns of the potential side effects of stopping the command. The
alert box should have only two buttons: one for continuing the
command's processing, and one for immediately terminating it.
Alternatively, you can place the Stop or
Cancel button near the control with which the user
issued the command that needs to be stopped. Place the button here only
if:
-
There is no progress animation for the command, or
-
The progress animation is in a window's status area or in
another location that lacks space for a Stop or
Cancel button.
In the alert box that appears after pressing a
Stop button, ensure the message and button labels
in the alert box are specific and precise. Ambiguous button labels can
cause users to terminate or continue a command unintentionally. For
example, use:
Continue deleting files? [Continue Deleting]
[Stop Deleting]
rather than
Operation interrupted, continue? [Yes]
[No]
since in the latter example, it is not clear whether pressing
Yes would continue the operation or continue the
interruption (i.e. cancel the operation).