Programowe określanie przeznaczenia pól
Silktide sprawdza, czy pola formularzy zbierające dane osobowe, takie jak imię i nazwisko, adres e-mail lub numer telefonu, deklarują swoje przeznaczenie w kodzie. Dzięki temu przeglądarki i narzędzia wspomagające mogą automatycznie wypełniać pole oraz prezentować je w sposób zrozumiały dla każdej osoby.
Przeznaczenie deklaruje się za pomocą atrybutu autocomplete w , ustawionego na standardową wartość opisującą dane zbierane przez pole:
<!-- Przeznaczenie jest odczytywalne maszynowo: to pole zbiera imię -->
<label for="name">Imię</label>
<input id="name" type="text" autocomplete="given-name">
Dlaczego to jest ważne
Gdy pole deklaruje swoje przeznaczenie, przeglądarka może wypełnić je informacjami zapisanymi przez odwiedzającego. Pomaga to wszystkim, ale jest szczególnie ważne dla osób z niepełnosprawnościami ruchowymi, dla których pisanie jest powolne lub bolesne, oraz osób z niepełnosprawnościami poznawczymi, które mogą mieć trudności z przypominaniem sobie szczegółów na żądanie. Narzędzia wspomagające mogą również używać zadeklarowanego przeznaczenia do dodawania do pól znanych ikon lub symboli, dzięki czemu formularze są łatwiejsze do rozpoznania i wypełnienia.
Jak to naprawić
- Dodaj atrybut
autocompletez odpowiednią standardową wartością do każdego pola zbierającego informacje o odwiedzającym — na przykładname,email,tel,street-addresslubpostal-code. Zobacz pełną listę wartości (MDN). - Pamiętaj, że
autocomplete="on"nie wystarczy — wartość musi określać konkretne przeznaczenie. - Jeśli dane pole rzeczywiście nie powinno być automatycznie uzupełniane, na przykład ze względów bezpieczeństwa, lub zignoruj wynik dla tego pola.
Jak Silktide to testuje
- Znajdź pola wejściowe na każdej stronie, pomijając typy, które nigdy nie zbierają danych osobowych (przyciski, pola wyboru, przyciski opcji, pola wyboru plików, pola wyszukiwania i podobne), a także pola wstrzykiwane przez znane widżety innych firm, takie jak ukryte formularze dodawane przez skrypty śledzące i tłumaczące na własny użytek.
- Ustal etykietę każdego pola na podstawie jego , a w razie potrzeby użyj tekstu zastępczego.
- Gdy etykieta sugeruje dane osobowe — słowa takie jak „imię”, „e-mail”, „telefon”, „adres”, „kod pocztowy”, „data urodzenia” — oczekuj konkretnej wartości
autocomplete. - Zgłoś każde takie pole, w którym brakuje atrybutu
autocompletelub jest on ustawiony tylko naonalbooff. Każda konkretna wartość przechodzi kontrolę; Silktide nie ocenia, czy jest właściwa dla danego pola.
Rozwiązywanie problemów
Pole zostało oznaczone, choć nie powinno
Silktide wnioskuje o przeznaczeniu pola na podstawie jego etykiety. Jeśli etykieta jest nieobecna, Silktide nie może wykluczyć pola i może je oznaczyć — naprawienie etykiety (zobacz Etykiety pól) zwykle rozwiązuje ten problem. Jeśli pole rzeczywiście nie ma przeznaczenia dla autouzupełniania, zignoruj wynik dla tego pola.
Pole z nieprawidłową wartością autocomplete przechodzi kontrolę
Ta kontrola sprawdza, czy zadeklarowano konkretne przeznaczenie, a nie czy zadeklarowane przeznaczenie jest prawidłowe. Podczas dodawania wartości porównaj je ze standardową listą.