Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 4 down vote accepted

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.

share|improve this answer
    
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 Feb 13 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. –  Roger Attrill Feb 13 at 11:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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