2

We design an application, containing a grid with an active filter search and inline-editable columns. Each row represents a record, of which multiple fields are editable. The application should be fully handled by keyboard (rapid data manipulation, mostly numbers).

[_Search___________[X]

________________________________________
| COLUMN 1    | COLUMN 2  | COLUMN 3   |
|_____________|___________|____________|
| Some value  |    10,000 |      20,000|
+-------------+-----------+------------+
| [editing__] |   [__5000]|    [__4000]|
+-------------+-----------+------------+
| Some other  |      3000 |        3000|
|_____________|___________|____________|

We have a problem deciding on behaviour of the ESC key. We have basically the following questions:

  • if user hits ESC while editing the second field, does they expect to cancel only that field, or, if previous edits have been made, all other fields edited in the current record?
  • which would create less mistakes due to unexpected behaviour: edited fields remaining there despite intended to be canceled or canceled fields which were supposed to retain value?
  • shall we use double ESC for reseting row?
  • shall we use triple ESC for getting out of the active filter of a search?
  • would multi-esc conflict with natural flee behaviour ("ESC-ESC-ESC, I wanna get out of here!")

Are there any researches / widespread applications dealing with this multi-layer cancel problem?

Or in case not, how should a test be set up to acquire behavioural (not self-reporting) results?

1 Answer 1

4

Escape should cancel what can clearly be considered as 'the current active task'. It essentially means stop but also quit, exit, cancel or abort. It's used to stop an edit without change or close a transient dialog without altering data.

Escape should never be considered a sequential historical operation. It is not an alternative, replacement or substitute for an Undo operation (eg Ctrl+Z) which would be the correct way to revert multiple sequential actions without aborting the larger task at hand.

To answer the questions specifically as asked:

if user hits ESC while editing the second field, does they expect to cancel only that field, or, if previous edits have been made, all other fields edited in the current record?

Only that field, as that is the active task

which would create less mistakes due to unexpected behaviour: edited fields remaining there despite intended to be canceled or canceled fields which were supposed to retain value?

The first of those two options will create less mistakes, because users are expecting ESC to stop the edit, not undo previous edits.

shall we use double ESC for reseting row?

No, no

shall we use triple ESC for getting out of the active filter of a search?

No, no, no!

would multi-esc conflict with natural flee behaviour ("ESC-ESC-ESC, I wanna get out of here!")

It so totally would!

Is multi-layer ESCAPE expected?

That's a no.

2
  • Thank you very much Roger! The reason I didn't entirely drop this idea yet is how old clipper apps worked: when you were inside a kind of menu (drilldown-style interfaces were quite popular back then), multi-esc did mean stepping back one level in hierarchy by each press
    – Aadaam
    Commented Feb 13, 2014 at 11:13
  • yes - but then you were still in a nested hierarchy of 'open' tasks, whereas what I believe you are suggesting in your question is using escape not to get out of nested tasks but to undo little edit tasks, each of which is considered 'done' when you move on to the next edit. You can't use escape to stop a task or micro-task that is considered to have already had closure. Commented Feb 13, 2014 at 11:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.