Krótko
Jeśli użytkownik popełni błąd w formularzu, strona musi jasno wskazać, gdzie jest błąd i na czym polega.
Zrozumiałość · Poziom A
Błędy i walidacja muszą być jasno wskazane i opisane tekstem, a nie tylko wizualnie, na przykład kolorem albo podświetleniem.
Jeśli użytkownik popełni błąd w formularzu, strona musi jasno wskazać, gdzie jest błąd i na czym polega.
Użytkownik wysyła formularz, ale coś jest nie tak. Jeśli strona pokazuje tylko komunikat „formularz zawiera błędy” albo zaznacza pole samym kolorem, użytkownik może nie wiedzieć, które pole poprawić i co dokładnie jest błędne.
W praktyce osoba może wrócić na formularz po wysłaniu i nie zauważyć błędu, zwłaszcza gdy komunikat jest poza aktualnym widokiem, znika po chwili albo nie jest powiązany z polem.
Pole ma etykietę, tekstowy komunikat błędu i relację między polem a komunikatem.
Kod — HTML
<label for="email">Adres e-mail</label>
<input
id="email"
name="email"
type="email"
aria-describedby="email-error"
aria-invalid="true"
>
<p id="email-error">
Wpisz adres e-mail w formacie nazwa@example.com.
</p>
Jak to działa
label identyfikuje pole. aria-describedby łączy pole z komunikatem błędu. aria-invalid="true" oznacza, że wartość jest błędna, ale sam atrybut nie wystarczy: użytkownik potrzebuje jeszcze tekstu błędu.
W dłuższych formularzach podsumowanie pomaga szybko znaleźć błędy i przejść do konkretnych pól.
Kod — HTML
<div class="form-error-summary">
<h2>Popraw błędy w formularzu</h2>
<ul>
<li>
<a href="#email">Adres e-mail: wpisz adres w formacie nazwa@example.com.</a>
</li>
<li>
<a href="#phone">Telefon: wpisz 9 cyfr bez spacji.</a>
</li>
</ul>
</div>
Jak to działa
Podsumowanie wskazuje, które pola są błędne. Linki prowadzą do konkretnych pól, co jest szczególnie przydatne w długich formularzach.
Samo czerwone obramowanie nie wystarcza. Użytkownik musi dostać tekstową informację, że pole zawiera błąd i jaki to błąd.
Kod — HTML
<label for="name">Imię</label>
<input
id="name"
name="name"
class="error"
>
Jak to działa
Kolor może wspierać komunikat, ale nie może być jedyną informacją o błędzie.
To jest statyczna makieta edukacyjna, a nie działający formularz. Pokazuje różnicę między błędnym i poprawnym sposobem prezentowania błędów.
Adres e-mail anna.example.com
Widać tylko czerwone obramowanie. Brakuje tekstu, który mówi, na czym polega błąd.
Popraw błędy w formularzu
Adres e-mail anna.example.com Wpisz adres e-mail w formacie nazwa@example.com.
aria-describedby.aria-invalid.