gpt4 book ai didi

asp.net-mvc - HTML5 会禁止 tbody 中的细胞吗?

转载 作者:技术小花猫 更新时间:2023-10-29 11:35:40 26 4
gpt4 key购买 nike

我有以下标记作为 Razor View 的一部分:

<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 会这样提示:

Warning 1 Validation (HTML5): Element 'th' must not be nested within element 'tbody tfoot'.

这是真的吗?如果是这样,有人可以链接到规范吗?

我的理解是使用 <th> for row headers 不仅合法而且受到鼓励。这当然看起来相当普遍,我可以链接数十个教程来解释(看似明智地)它有助于提高可访问性。

这是 VS 错误吗? HTML5 带来的真正变化(好变化?坏变化?)?这是什么故事?

最佳答案

My understanding was that using <th> for row headers was not just legal but encouraged

据我所知,这在 HTML 4(可能还有它的前身)中一直是合法的,并且在 HTML5 中也没有改变。

W3C's HTML5 validator ,虽然仍处于试验阶段,但不会报告任何警告或错误。再一次,我确信 Visual Studio 使用的 HTML5 验证也是实验性的,因为 HTML5 本身还没有最终确定。

HTML5 spec关于标记表格数据,特别是 section 4.9.13 , 显示了 <th> 的使用在 <tbody> 内和 <tfoot>范围行数据:

<table>
<thead>
<tr>
<th>
<th>2008
<th>2007
<th>2006
<tbody>
<tr>
<th>Net sales
<td>$ 32,479
<td>$ 24,006
<td>$ 19,315
<tr>
<th>Cost of sales
<td> 21,334
<td> 15,852
<td> 13,717
<tbody>
<tr>
<th>Gross margin
<td>$ 11,145
<td>$ 8,154
<td>$ 5,598
<tfoot>
<tr>
<th>Gross margin percentage
<td>34.3%
<td>34.0%
<td>29.0%
</table>

所以 <th> 是完全合法的里面的元素<tr> <tbody> 中的元素或 <tfoot> .无论如何,因为表格标题不仅仅是在表格标题上找到的。

关于asp.net-mvc - HTML5 会禁止 tbody 中的细胞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5509163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com