Aby kliknięcie napisu etykiety zaznaczało powiązane z nią pole formularza, w znaczniku <label> należy użyć atrybutu
A. title
B. id
C. for
D. name
Poprawnym atrybutem jest for. W elemencie <label> atrybut for wskazuje identyfikator pola formularza, z którym etykieta ma być powiązana. Mechanizm działa tak: wartość for musi być taka sama jak wartość atrybutu id w kontrolce, np. <label for="email">E-mail</label> oraz <input id="email" name="email">. Po kliknięciu tekstu etykiety przeglądarka przenosi fokus do tego pola albo zaznacza kontrolkę, np. checkbox lub radio. Do zapamiętania: label używa for, a pole formularza ma odpowiadające id. Takie powiązanie poprawia wygodę obsługi formularzy i dostępność, bo czytniki ekranu mogą prawidłowo odczytać opis pola. Typowa pułapka to mylenie id z for - id znajduje się przy polu, for przy etykiecie.
Pytanie dotyczy sposobu połączenia tekstu etykiety z konkretną kontrolką formularza. Atrybut name służy przede wszystkim do nadania nazwy polu, pod którą jego wartość może zostać przesłana do skryptu obsługującego formularz. Nie tworzy on powiązania z etykietą. Atrybut id nadaje elementowi unikalny identyfikator w dokumencie i jest potrzebny po stronie pola formularza, ale samo wpisanie id w znaczniku <label> nie sprawi, że kliknięcie etykiety wybierze pole. Atrybut title podaje dodatkowy opis, często widoczny jako podpowiedź po najechaniu kursorem, lecz nie łączy etykiety z kontrolką. Poprawnym atrybutem w znaczniku <label> jest for. Jego wartość musi odpowiadać wartości id pola, na przykład <label for="login">Login</label> oraz <input id="login" name="login">. Typowy błąd myślowy polega na wybraniu id, ponieważ faktycznie bierze udział w tym mechanizmie, ale znajduje się przy polu formularza, a nie jako atrybut wiążący w etykiecie.