Thomas Bruederli
2014-06-23 0c9fc953b0ba0f0ac3a9d37fe8e8f92f0c34688e
Fix keyboard navigation with nested link element in treelist nodes
1 files modified
10 ■■■■ changed files
program/js/treelist.js 10 ●●●● patch | view | raw | blame | history
program/js/treelist.js
@@ -771,19 +771,19 @@
      next = li[mod](), limit, parent;
    if (dir > 0 && !from_child && li.children('ul[role=group]:visible').length) {
      li.children('ul').children('li:first').children('a:first').focus();
      li.children('ul').children('li:first').find('a:first').focus();
    }
    else if (dir < 0 && !from_child && next.children('ul[role=group]:visible').length) {
      next.children('ul').children('li:last').children('a:last').focus();
      next.children('ul').children('li:last').find('a:first').focus();
    }
    else if (next.length && next.children('a:first')) {
      next.children('a:first').focus();
    else if (next.length && next.find('a:first')) {
      next.find('a:first').focus();
    }
    else {
      parent = li.parent().closest('li[role=treeitem]');
      if (parent.length)
        if (dir < 0) {
          parent.children('a:first').focus();
          parent.find('a:first').focus();
        }
        else {
          focus_next(parent, dir, true);