Actions are mainly rendered as links, but so far we don't have a way to assign key binding to have keyboard shortcuts.
Keyboard shortcurts are clearly not used by all types of users, but for advanced users that spend several hours per day in front of a WebApp this can really make sense to provide such a feature.
This is especially true for specific business app that may need to do binding on the most usual actions.
HTML provides a native system to bind keyboard shortcuts to a link : the accesskey attribute.
- complex key combinations (like the Konami code already included)
- per-user configurable key bindings
But as a first step, I guess we can start with the standard accesskey system :
- that is supported by all browsers without requiring JS
- that is supported by most JSF tags that generates links
This means that at least for a first step, we can simply :
- add the accessKey attribute to the Action descriptor
- update actions template to fill the accesskey attribute according to related action
Of course, this won't prevent from having overlapped keyboard bindings, but I think we can not easily solve this.
An important point is that keyboard binding is not visible from the Web UI : you have to be aware of it and "know the keys".
Here, it think we must do a simple JQuery stuff that will display all accessKey next to their target link.