expand: a11y and remove jQuery

This commit is contained in:
Sören Weber 2023-02-03 08:57:55 +01:00
parent 322a86ae47
commit 00faf15af5
No known key found for this signature in database
GPG key ID: BEC6D55545451B6D
7 changed files with 111 additions and 52 deletions
static/js

View file

@ -793,7 +793,12 @@ function mark() {
var parent = markedElements[i].parentNode;
while( parent && parent.classList ){
if( parent.classList.contains( 'expand' ) ){
parent.classList.add( 'expand-marked' );
var expandInputs = parent.querySelectorAll( 'input:not(.expand-marked)' );
if( expandInputs.length ){
expandInputs[0].classList.add( 'expand-marked' );
expandInputs[0].dataset.checked = expandInputs[0].checked ? 'true' : 'false';
expandInputs[0].checked = true;
}
}
if( parent.tagName.toLowerCase() === 'li' ){
var toggleInputs = parent.querySelectorAll( 'input.toggle:not(.menu-marked)' );
@ -880,8 +885,13 @@ function unmark() {
toggleInputs[0].classList.remove( 'menu-marked' );
}
}
if( parent.classList.contains( 'expand-marked' ) ){
parent.classList.remove( 'expand-marked' );
if( parent.classList.contains( 'expand' ) ){
var expandInputs = parent.querySelectorAll( 'input.expand-marked' );
if( expandInputs.length ){
expandInputs[0].checked = expandInputs[0].dataset.checked === 'true';
expandInputs[0].dataset.checked = null;
expandInputs[0].classList.remove( 'expand-marked' );
}
}
parent = parent.parentNode;
}
@ -909,7 +919,6 @@ function unhighlight( es, options ){
}
};
// replace jQuery.createPseudo with https://stackoverflow.com/a/66318392
function elementContains( txt, e ){
var regex = RegExp( txt, 'i' );