2013-09-22 7 views
13

nie wiem dlaczego wciąż otrzymuję ten błąd podczas sprawdzania moją stronę na http://validator.w3.org/check Wystąpił błąd:walidacji HTML: The atrybutu elementu etykiecie musi odnosić się do kontroli formy

Line 235, Column 84: The for attribute of the label element must refer to a form control. 
… <label for="name" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp; 

tu jest mój rzeczywisty kod

<div>&nbsp;&nbsp; 
    <label for="name" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp; 
    <input class="css_form_namefield TooltipIstok " type="text" name="name" value="" style="width: 554px;" maxlength="50" > 
</div> 

Odpowiedz

20

Jeśli używasz atrybutu for w elemencie label, musi on być zgodny z id elementu wejściowego w twoim formularzu.

tj

<label for="field-id" style="line-height:24px;">Your Name</label><br>&nbsp;&nbsp; 
<input type="text" id="field-id"> 

Ta strona może być pomocne, aby uzyskać więcej informacji. http://www.w3.org/TR/WCAG-TECHS/H44.html

+0

Oto mój kod

  
  
SOoCreative

+4

Ta odpowiedź jest błędna. Musisz dopasować identyfikator, a nie imię. Zobacz: http://www.w3.org/TR/html5/forms.html#the-label-element. Odpowiedź poniżej jest poprawna. – mtl

10

Zgodnie z definicją, wartość for attribute musi odpowiadać wartości id atrybutu „innego” kontrolki formularza, aby skorzystać z HTML 4.01 terminologii. Controls są tworzone przez elementy input, textarea, button, select lub object, więc po prostu przeczytaj "inny" jako "a". HTML5 przedstawia to nieco inaczej, określając, że atrybut musi odnosić się do labelable element.

Z komunikatu o błędzie, wydaje się, że jesteś sprawdzanie przeciwko HTML5, więc zasada, że ​​odnosi się to, że atrybut for musi odnosić się do button, input (innych niż z type=hidden), keygen, meter, output, progress, select lub element. Domyślam się, że po prostu zapomniałeś atrybutu id, błędnie zakładając, że atrybut name może wykonać swoje zadanie.