mirror of
https://github.com/SuperBFG7/ympd
synced 2025-11-15 20:57:16 +00:00
Fix: improve keyboard navigation of main menu
This commit is contained in:
20
dist/htdocs/js/bootstrap-native-v4.js
vendored
20
dist/htdocs/js/bootstrap-native-v4.js
vendored
@@ -826,9 +826,17 @@
|
||||
menuItems = (function(){
|
||||
var set = menu[children], newSet = [];
|
||||
for ( var i=0; i<set[length]; i++ ){
|
||||
set[i][children][length] && (set[i][children][0].tagName === 'A' && newSet[push](set[i][children][0]));
|
||||
//set[i][children][length] && (set[i][children][0].tagName === 'A' && newSet[push](set[i][children][0]));
|
||||
//start patch: push all child elements, not only first
|
||||
if (set[i][children][length]){
|
||||
for ( var j=0; j<set[i][children][length]; j++ ){
|
||||
set[i][children][j].tagName === 'A' && newSet[push](set[i][children][j]);
|
||||
}
|
||||
}
|
||||
//end patch
|
||||
set[i].tagName === 'A' && newSet[push](set[i]);
|
||||
}
|
||||
console.log(newSet);
|
||||
return newSet;
|
||||
})(),
|
||||
|
||||
@@ -874,9 +882,17 @@
|
||||
isMenuItem = activeItem[parentNode] === menu || activeItem[parentNode][parentNode] === menu;
|
||||
|
||||
if ( isMenuItem || isSameElement ) { // navigate up | down
|
||||
idx = isSameElement ? 0
|
||||
/* idx = isSameElement ? 0
|
||||
: key === 38 ? (idx>1?idx-1:0)
|
||||
: key === 40 ? (idx<menuItems[length]-1?idx+1:idx) : idx;
|
||||
*/
|
||||
//start patch: skip hidden elements
|
||||
do {
|
||||
idx = isSameElement ? 0
|
||||
: key === 38 ? (idx>1?idx-1:0)
|
||||
: key === 40 ? (idx<menuItems[length]-1?idx+1:idx) : idx;
|
||||
} while ( !menuItems[idx].offsetHeight )
|
||||
//end patch
|
||||
menuItems[idx] && setFocus(menuItems[idx]);
|
||||
}
|
||||
if ( (menuItems[length] && isMenuItem // menu has items
|
||||
|
||||
Reference in New Issue
Block a user