️ feat(a11y): add keyboard accessibility to theme toggler

This commit is contained in:
welpo
2024-01-03 18:43:51 +01:00
parent b6a89e6370
commit dce495e71d
3 changed files with 18 additions and 1 deletions

View File

@@ -57,3 +57,18 @@ themeSwitcher.setAttribute('aria-pressed', currentTheme === 'dark');
if (localStorage.getItem('theme')) {
themeResetter.classList.add('has-custom-theme');
}
// Function to handle keydown event on theme toggler buttons.
function handleThemeTogglerKeydown(event) {
if (event.key === 'Enter' || event.key === ' ') {
event.preventDefault();
if (event.target === themeSwitcher) {
switchTheme();
} else if (event.target === themeResetter) {
resetTheme();
}
}
}
themeSwitcher.addEventListener('keydown', handleThemeTogglerKeydown);
themeResetter.addEventListener('keydown', handleThemeTogglerKeydown);