Przycisk wysyłania formularza
Silktide analizuje formularze na Twoich stronach i zgłasza te, które zawierają pola do wypełnienia, ale nie mają przycisku wysyłania. Bez niego niektórzy odwiedzający nie mają możliwości wysłania formularza, a inni nie mogą przewidzieć, kiedy zostanie on wysłany.
Dlaczego to jest ważne
Widoczny przycisk wysyłania informuje odwiedzających o dwóch rzeczach: jak wysłać formularz oraz że nic się nie wydarzy, dopóki sami tego nie wybiorą. Niektóre osoby korzystające z mogą wysłać formularz wyłącznie przez aktywowanie przycisku — naciśnięcie klawisza Enter w polu nie jest dostępne dla wszystkich. Ponadto formularz bez przycisku często wysyła się automatycznie, gdy odwiedzający wpisuje tekst lub zmienia wybór. Taka nieoczekiwana zmiana kontekstu może dezorientować użytkowników oraz osoby z niepełnosprawnościami poznawczymi, które nagle znajdują się na innej stronie w trakcie wykonywania zadania.
Jest to kryterium sukcesu 3.2.2 WCAG (Po wprowadzeniu danych), wymóg — należący do najbardziej podstawowego poziomu zgodności.
Jak to naprawić
Dodaj do każdego oznaczonego formularza przycisk wysyłania, wyraźnie oznaczony atrybutem type="submit":
<!-- Problem: brak możliwości celowego wysłania formularza -->
<form action="/search">
<input type="text" name="q">
</form>
<!-- Poprawka: wyraźny przycisk wysyłania -->
<form action="/search">
<input type="text" name="q">
<button type="submit">Szukaj</button>
</form>
Jeśli formularz rzeczywiście nie powinien nigdzie wysyłać danych — na przykład filtr, który aktualizuje wyniki na bieżąco i informuje o swoim działaniu — możesz wynik lub wykluczyć element z kontroli.
Jak Silktide to testuje
- Znajduje każdy element
<form>na stronie, pomijając te, które wykluczono z kontroli. - Ignoruje formularze bez użytecznych pól — formularze, które podczas ładowania strony nie zawierają widocznych pól wprowadzania, obszarów tekstowych, list wyboru ani przycisków. Pozwala to pominąć formularze śledzące i niewidoczne formularze otaczające stronę, generowane przez niektóre platformy, które w przeciwnym razie powodowałyby fałszywe alarmy.
- Zgłasza każdy pozostały formularz, który nie zawiera elementu z
type="submit".
Rozwiązywanie problemów
Mój formularz ma przycisk, ale nadal został oznaczony
Silktide szuka wyraźnie określonego type="submit". Element <button> bez atrybutu type wysyła formularz w większości przeglądarek, ale nie jest rozpoznawany przez tę kontrolę — a dodanie type="submit" i tak jest dobrą praktyką, ponieważ jednoznacznie określa działanie przycisku. Przyciski z type="button" nigdy nie wysyłają formularza.
Formularz jest wyświetlany po interakcji
Pola są oceniane podczas pierwszego ładowania strony. Formularz, który początkowo jest ukryty i zostaje wyświetlony później, na przykład w menu wyskakującym, może nie zostać przetestowany. Dlatego pozytywny wynik tej kontroli nie gwarantuje, że każdy formularz na stronie ma przycisk.