Krótko
Jeśli po najechaniu myszą albo po fokusie pojawia się dodatkowa treść, użytkownik musi móc ją przeczytać, zamknąć i nie stracić jej przypadkowo.
Postrzegalność · Poziom AA
Dodatkowa treść, która pojawia się po hoverze albo fokusie, musi dać się przeczytać, zamknąć i utrzymać bez przypadkowego znikania.
Jeśli po najechaniu myszą albo po fokusie pojawia się dodatkowa treść, użytkownik musi móc ją przeczytać, zamknąć i nie stracić jej przypadkowo.
Użytkownik najeżdża kursorem na ikonę pomocy albo przechodzi klawiaturą do pola formularza. Pojawia się dymek z ważną informacją, ale zasłania inne treści, znika przy próbie przesunięcia kursora albo nie da się go zamknąć bez utraty fokusu.
Osoba korzystająca z powiększenia, klawiatury lub czytnika ekranu może nie mieć realnej możliwości skorzystania z tej informacji. To kryterium dotyczy dodatkowej treści pojawiającej się po hoverze albo fokusie, a nie samego wyglądu fokusu czy kolejności nawigacji.
Użytkownik może zamknąć dodatkową treść bez przesuwania kursora albo fokusu, na przykład klawiszem Escape. Wyjątkiem jest sytuacja, w której treść nie zasłania ani nie zastępuje niczego ważnego.
Jeśli treść pojawia się po hoverze, użytkownik może przesunąć kursor na tę treść bez jej zniknięcia.
Treść pozostaje widoczna, dopóki użytkownik nie zabierze kursora lub fokusu, nie zamknie jej albo treść nie przestanie być potrzebna.
Treść pojawia się nie tylko po najechaniu myszą, ale też po fokusie klawiatury. Dodatkowo użytkownik może przesunąć kursor na tooltip.
Kod — CSS
.help-trigger:hover + .tooltip,
.help-trigger:focus-visible + .tooltip,
.tooltip:hover {
display: block;
}
Jak to działa
Podpowiedź jest dostępna dla myszy i klawiatury, a hover na samej podpowiedzi nie powoduje jej natychmiastowego zniknięcia.
Osoba korzystająca z klawiatury może nigdy nie zobaczyć tej treści.
Kod — CSS
.help-trigger:hover + .tooltip {
display: block;
}
Jak to działa
Ten wzorzec zakłada mysz. Nie zapewnia dostępu do treści osobie, która porusza się po stronie klawiaturą.
Jeśli dodatkowa treść zasłania inne elementy albo działa jak mały popup, użytkownik powinien mieć przewidywalny sposób zamknięcia jej, na przykład Escape.
Kod — JavaScript
document.addEventListener("keydown", function (event) {
if (event.key === "Escape") {
closeTooltip();
}
});
Uwaga
To jest przykład edukacyjny, nie gotowa biblioteka tooltipów. Pełny komponent wymaga jeszcze obsługi stanu, położenia, fokusu i testów w konkretnym interfejsie.
To jest statyczna makieta edukacyjna, a nie działający tooltip. Pokazuje różnicę między problematycznym i przewidywalnym zachowaniem dodatkowej treści.
Problem: treść jest projektowana tylko pod mysz i nie da się jej spokojnie przeczytać.
Problem: dymek może przykryć treść, której użytkownik właśnie potrzebuje.
Dobra praktyka: treść jest dostępna dla klawiatury, nie znika od razu i ma opisany sposób zamknięcia.