Krótko
Jeśli użytkownik może wejść klawiaturą do komponentu, musi też móc z niego wyjść klawiaturą.
Funkcjonalność · Poziom A
Jeśli użytkownik może wejść klawiaturą do komponentu, musi też móc z niego wyjść klawiaturą.
Jeśli użytkownik może wejść klawiaturą do komponentu, musi też móc z niego wyjść klawiaturą.
Użytkownik przechodzi klawiaturą do modala, menu, odtwarzacza, mapy albo widgetu. Fokus zostaje w środku i nie da się wrócić do reszty strony. Użytkownik jest uwięziony.
To kryterium nie mówi ogólnie o tym, czy funkcja działa z klawiatury. Skupia się na sytuacji, w której da się wejść do komponentu, ale nie da się go opuścić bez myszy.
Escape daje użytkownikowi przewidywalny sposób wyjścia z komponentu.
Kod — JavaScript
document.addEventListener("keydown", function (event) {
if (event.key === "Escape") {
closeDialog();
}
});
Po zamknięciu użytkownik wraca do miejsca, z którego otworzył komponent.
Kod — JavaScript
const trigger = document.querySelector("#open-dialog");
function closeDialog() {
dialog.close();
trigger.focus();
}
Blokowanie Tab bez alternatywnej ścieżki może stworzyć pułapkę na klawiaturę.
Kod — JavaScript
document.addEventListener("keydown", function (event) {
if (event.key === "Tab") {
event.preventDefault();
}
});
To jest statyczny schemat edukacyjny. Pokazuje różnicę między pułapką fokusu a komponentem, z którego można przewidywalnie wyjść klawiaturą. Nie jest działającym modalem.
Brak drogi dalej. Fokus krąży w komponencie i użytkownik nie może wrócić do reszty strony.
Użytkownik ma przewidywalne wyjście i nie zostaje uwięziony w komponencie.