Instrukcje dotyczące formularza
Silktide wykrywa pola formularza, które mogą wymagać wyjaśnienia, takie jak pola dowolnego tekstu, i prosi o zdecydowanie, czy każde z nich potrzebuje instrukcji opisujących, co należy wpisać. Pola wymagające instrukcji powinny mieć je powiązane w kodzie, a nie tylko umieszczone w pobliżu.
Dlaczego to jest ważne
Sama etykieta często nie wystarcza. „Data” nie mówi nic o oczekiwanym formacie, który różni się w zależności od kraju; „Numer referencyjny” nie wskazuje, którego z trzech numerów referencyjnych należy użyć. Odwiedzający, którzy zgadną nieprawidłowo, otrzymają błąd — lub, co gorsza, ich zgłoszenie zostanie zaakceptowane z błędnymi danymi.
Powiązanie instrukcji w kodzie jest równie ważne jak jej napisanie: wskazówka, która znajduje się jedynie wizualnie w pobliżu pola, jest niewidoczna dla użytkownika , gdy fokus znajduje się w polu.
Jak to naprawić
Dla każdego oznaczonego pola zdecyduj, czy odwiedzający może nie być pewien, co wpisać. Jeśli tak:
- Dodaj opis i połącz go z polem za pomocą
atrybutu
aria-describedby:
<!-- Wskazówka jest odczytywana, gdy pole otrzymuje fokus -->
<label for="date">Data</label>
<input type="text" id="date" aria-describedby="date-hint">
<p id="date-hint">Format: dzień/miesiąc/rok, np. 28/07/2026</p>
- Możesz też użyć pola o odpowiednim typie .
<input type="date">udostępnia odwiedzającym selektor daty w ich własnych ustawieniach regionalnych, więc wyjaśnienie nie jest potrzebne — wybierz tę opcję, gdy istnieje odpowiedni typ.
Jeśli pole jest oczywiste — na przykład pole „Szukaj” lub pole „Wiadomość” w formularzu kontaktowym — instrukcja nie jest potrzebna; wynik.
Jak Silktide to testuje
- Wyszukuje kontrolki formularza, w których instrukcje mogą być przydatne: elementy
<textarea>oraz pola<input>typutext,email,file,number,passwordlubrange. Przyciski, pola wyboru, przyciski opcji i listy rozwijane są pomijane, ponieważ dla nich etykieta zwykle wystarcza. - Pomija pola niewidoczne dla użytkowników widzących oraz pola wstawiane przez znane widżety innych firm, takie jak ukryte formularze dodawane na własny użytek przez skrypty śledzące i tłumaczące.
- Pomija pola, które mają już powiązany opis — atrybut
aria-describedbywskazujący na rzeczywisty, niepusty tekst lub niepusty atrybutaria-description. - Oznacza każde pozostałe pole do sprawdzenia: człowiek decyduje, czy rzeczywiście potrzebuje ono instrukcji.
Rozwiązywanie problemów
Moje pole ma wskazówkę bezpośrednio pod nim
Bliskość wizualna nie oznacza powiązania. Jeśli wskazówka nie jest połączona z
polem za pomocą aria-describedby (lub aria-description),
nie odczyta jej, a Silktide oznaczy pole. Dodanie atrybutu
rozwiązuje oba problemy.