所以我正在通过并验证我的网站,我注意到了9个错误,但是这个错误让我很难过。
Line 96, Column 27: label element with multiple labelable descendants.
<label><h1>Birthday</h1>
以下完整代码:
<label><h1>Birthday</h1>
<select name="day">
<option value="00" disabled selected>Day</option>
<?php
for($i=1;$i<=31; $i++)
{
$n = sprintf("%02s", $i);
echo '<option value="'.$n.'">'.$n.'</option>';
}
?>
</select>
<select name="month">
<option value="00" disabled selected>Month</option>
<?php
for($i=1;$i<=12; $i++)
{
$n = sprintf("%02s", $i);
echo '<option value="'.$n.'">'.date("F",strtotime('01.'.$n.'.2001')).'</option>';
}
?>
</select>
<select name="year">
<option value="00" disabled selected>Year</option>
<?php
$year = date("Y");
for($i=$year-99;$i<=$year; $i++)
{
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
</select>
</label>
我知道它的任何建议必须与标签后面的h1或沿线的东西有关,因为标签中没有标签
答案 0 :(得分:1)
select
中有多个label
个元素,而且这些元素都是“可标记的”。
请参阅:http://www.w3.org/TR/html5/forms.html#the-label-element
规范实际上说“如果[...]标签元素有一个可谓的元素后代,那么树顺序中的第一个这样的后代是标签元素的标记控件。”所以在你的例子中,浏览器应该将标签视为第一个选择元素的标签。