42
我有以下標記爲剃刀圖的一部分:HTML5是否禁止tbody的細胞?
<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的一個真正的變化(一個好的嗎?一個糟糕的?)?發生了什麼?
您的操作代碼是否包含任何無效的嵌套代碼而不是''?例如'
Gareth,很好的問題,但沒有。我只是想表明,有不止一個類似的行。我只用了一個,它只減少了同樣警告的重複副本(每個這樣的單元格都有一個副本)。 – 2011-04-01 11:22:48
回答
據我所知,這總是在HTML 4法律(也可能是其前身),和不是招」沒有改變HTML5。
W3C's HTML5 validator,雖然仍然是實驗性的,但不報告任何警告或錯誤。然後,我相信Visual Studio使用的HTML5驗證也是實驗性的,因爲HTML5本身尚未完成。
上加上標記,表格數據,特別是section 4.9.13的HTML5 spec,說明了如何使用
<th>
內<tbody>
和<tfoot>
到範圍行數據:所以這是完全合法的,以有內部無論是內部
<tr>
元素<th>
元素<tbody>
或<tfoot>
。無論如何,因爲表格標題不只是在表格標題中找到。來源
2011-04-01 04:35:41 BoltClock
我同意。我創建了[問題656626](http://connect.microsoft.com/VisualStudio/feedback/details/656626/html5-validation-reports-spurious-error-when-th-tags-appear-within-tbody-tags)到報告這一點。 – 2011-04-01 11:35:56
+1因爲被打擾報告! – enashnash 2011-06-24 09:40:18
@Doug McClean:VS11的HTML5驗證器上的任何單詞?我不確定它是否與VS2010有什麼不同。 – BoltClock 2012-03-19 17:22:45
HTML5規範only requires that it be inside a
tr
,規範實際上包含嵌套在tbody
內的th
的示例。來源
2011-04-01 04:37:36 Chuck
一般在
THEAD
一個TH
將有"col"
一個scope
值,而在TBODY
一個TH
將有"row"
一個scope
值。來源
2013-08-17 00:14:54
相關問題