Brakujący identyfikator aria-errormessage
Silktide sprawdza każdy atrybut aria-errormessage na Twoich stronach i weryfikuje, czy identyfikator elementu, do którego wskazuje, rzeczywiście istnieje. Ten atrybut łączy pole formularza z komunikatem wyjaśniającym, co jest nieprawidłowe w wartości wprowadzonej w tym polu.
<!-- Problem: żaden element na stronie nie ma id="email-error" -->
<input type="email" aria-invalid="true" aria-errormessage="email-error">
Dlaczego to jest ważne
Gdy pole formularza jest oznaczone jako nieprawidłowe, atrybut
aria-errormessage informuje
, gdzie znajduje się
wyjaśnienie. Jeśli odwołanie jest uszkodzone, użytkownik
otrzymuje informację, że jego dane wejściowe są
nieprawidłowe, ale nigdy nie słyszy dlaczego — musi zgadywać formaty i
wymagania, które widzący użytkownicy mogą przeczytać na ekranie, i może
całkowicie zrezygnować z wypełnienia formularza.
Jak to naprawić
- Ustaw odwołanie w atrybucie na
idelementu zawierającego widoczny komunikat o błędzie dla tego pola. - Gdy błąd występuje, użyj go razem z
aria-invalid="true"w polu —aria-errormessagejest ogłaszany tylko dla nieprawidłowych pól. - Upewnij się, że wskazywany element zawiera czytelny tekst zawsze, gdy wyświetlany jest błąd, oraz że jest pusty lub ukryty, gdy błędu nie ma.
Jak Silktide przeprowadza tę kontrolę
- Znajduje każdy element na stronie z atrybutem
aria-errormessage. - Porównuje identyfikator, do którego prowadzi odwołanie, z identyfikatorami elementów obecnych na stronie.
- Zgłasza każde odwołanie, które nie pasuje do żadnego elementu.
Rozwiązywanie problemów
Element błędu jest dodawany tylko wtedy, gdy walidacja się nie powiedzie
Silktide testuje stronę podczas jej ładowania. Najlepiej pozostawić kontener błędu na stronie na stałe (pusty lub ukryty do czasu, gdy będzie potrzebny), aby odwołanie zawsze było prawidłowe, a komunikat działał w chwili pojawienia się błędu.