diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-04-30 16:21:29 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-04-30 16:21:29 +0200 |
commit | e8bcf08c72a18b3bf396e6448d6658227ecb46f2 (patch) | |
tree | dd4dc60d87f2340114eb9dcaaf7a567e09cdc995 /program/js/common.js | |
parent | 2d8f31da736550a0df3ccde31bf85a146aea45c0 (diff) |
1. Prepare core and Larry skin for improved accessibility
2. Implement full keyboard navigation in main mail view
Diffstat (limited to 'program/js/common.js')
-rw-r--r-- | program/js/common.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/program/js/common.js b/program/js/common.js index ff5f9b9bd..e15c34a3b 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -281,6 +281,26 @@ cancel: function(evt) return false; }, +/** + * Determine whether the given event was trigered from keyboard + */ +is_keyboard: function(e) +{ + return e && ( + (e.mozInputSource && e.mozInputSource == e.MOZ_SOURCE_KEYBOARD) || + (!e.pageX && (e.pageY || 0) <= 0 && !e.clientX && (e.clientY || 0) <= 0) + ); +}, + +/** + * Accept event if triggered from keyboard action (e.g. <Enter>) + */ +keyboard_only: function(e) +{ + console.log(e); + return rcube_event.is_keyboard(e) ? true : rcube_event.cancel(e); +}, + touchevent: function(e) { return { pageX:e.pageX, pageY:e.pageY, offsetX:e.pageX - e.target.offsetLeft, offsetY:e.pageY - e.target.offsetTop, target:e.target, istouch:true }; |