HTML5是否禁止tbody?
我有以下标记作为Razor视图的一部分:
<table>
<caption>Presidents</caption>
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Born</th>
<th scope="col">Died</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Washington</th>
<td>1732</td>
<td>1799</td>
</tr>
<!-- etc -->
</tbody>
</table>
将“验证的目标模式”设置为HTML5,Visual Studio就这样抱怨:
警告1验证(HTML5):元素'th'不得嵌套在元素'tbody tfoot'中。
这是真的吗?如果是这样,有人可以链接到规范吗?
我的理解是,对行标题使用<th>
不仅合法而且鼓励。这当然看起来相当普遍,我可以链接数十个教程解释(看似合理)它有助于可访问性。
这是VS的错误吗? HTML5真正的变化(一个好的?一个坏的?)?发生了什么?
没有找到相关结果
已邀请:
3 个回复
黎喊病
不仅合法而且鼓励 据我所知,这在HTML 4(可能还有它的前身)中总是合法的,并且在HTML5中没有改变。 W3C的HTML5验证器虽然仍然是实验性的,但没有报告任何警告或错误。然后,我确信Visual Studio正在使用的HTML5验证也是实验性的,因为HTML5本身尚未最终确定。 关于标记表格数据的HTML5规范,特别是第4.9.13节,显示了在
和
中使用
来排列行数据:
因此,在
或
中的
元素内部有
元素是完全合法的。无论如何应该是这样,因为表标题不只是在表头上找到。
草票
内,并且规范实际上包含一个
嵌套在
内的例子。
扭湘阀柿蹄
中的
的
值为
,而
中的
的
值为
。