Topic: Hot keys system for FrontAccounting
1. Hotkey mechanism
One of problems addressed during the implementation was big count of options in some modules which make unique access letters assignement difficult. We resolved this allowing use of duplicated hot keys in following way:
When user press and hold Alt key pressing letter key moves focus in order between menu options with the letter assigned. Then when Alt key is released, currently focused option link is selected.
2. Hotkey map
Current letter to option assignment has been done intuitively rather than systematically, but I've kept i mind following rules:
. Every menu option has access key. If key is used by more than one option user
can select any of them in circle keeping Alt key pressed and touching access
key some times.
. The letter for options should be as unique as possible, yet intuitive.
. Primary use of first word letters.
. Less used group of options like inquires has common access key.
. Options available in more than one module should have the same access key (eg R for reports)
. Arrow keys can be used in menus to navigate between options (since v.2.2)
3.Hotkeys in forms (since v.2.2)
Most forms in FA have default values in fields set on interaction start. To bust form data entry performance default submit button has CtrlEnter hotkey assigned in most pages. If there is some non-destructive cancel button available on given form, Escape hotkey can be also assigned to it. Both active buttons are easily recognized by additional confirm/cancel icon.
4. Compatibility
This mechanism seems to work at all browsers but FireFox 3.0 for Win. At this one case user have to press Enter key to run selected option because of internal bug in this FF version.
The implemented hot keys mechanism is available only in full interface mode, although for non-javascript enabled browsers native access key mechanism (with related flaws) should be available.
The system as for now is available for testing at 3 basic themes (default, aqua and cool). We want to know your opinion about the used implementation and assigned hot letters before going further. We would like to have access key map accepted by FA community before CVS update, because introduced system will force corrections to all language modules, and nobody want to do it more than once. The needed changes in gettextized strings are very simple, and not time consuming, but necessary. This is the price for having independent keymap for any supported language.
Janusz