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?