14

http://validator.w3.org/checkで自分のページをチェックしているときに、なぜこのエラーが発生し続けるのかわかりません。エラーは次のとおりです。

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;

これが私の実際のコードです

<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>
4

2 に答える 2

26

label 要素で for 属性を使用する場合、フォームの入力要素の ID と一致する必要があります。

すなわち

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

詳細については、このページが役立つ場合があります。http://www.w3.org/TR/WCAG-TECHS/H44.html

于 2013-09-22T16:06:34.373 に答える
11

定義上、HTML 4.01 用語を使用するには、属性値は「別の」フォーム コントロールの属性値とfor一致する必要があります。コントロールは、、、、または要素によって作成されるため、「別の」を単に「a」と読みます。HTML5 では、属性がラベル付け可能な要素を参照する必要があることを指定して、これを多少異なる方法で表現しています。idinputtextareabuttonselectobject

エラー メッセージから、HTML5 に対して検証しているように見えるため、適用されるルールは、for属性がbutton, input(with 以外type=hidden)、keygenmeteroutputprogressselectまたはtextarea要素を参照する必要があるということです。私の推測では、属性がその仕事をすることができるidと誤って仮定して、属性を忘れただけだと思います。name

于 2013-09-22T16:45:03.337 に答える