我知道WCAG 2.0允许表格进行布局,但由于某些原因,achecker不断给我以下错误:
检查245:包含多个行/列标题的数据表不使用id和headers属性来标识单元格
修复:将id和headers属性添加到表格单元格,以便它们识别与标题相关的单元格。
HTML code:
<table id="mainTable">
<tbody>
<tr>
<th id="h150" scope="row">Row 1</th>
<td headers="h150" colspan="3">Value 1</td>
</tr>
<tr>
<th id="h151" scope="row">Row 2_1</th>
<td headers="h151">Value 2</td>
<th id="h1511" scope="row">Row 2_2</th>
<td headers="h1511">
<table>
<tr>
<td>Inner 1</td>
<td>Inner 2</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
如果删除内部布局表,则验证通过。为什么我在嵌套布局表中出现此错误?
任何建议将不胜感激。
答案 0 :(得分:1)
您正在使用的辅助功能检查器(显然是IDI Web Accessibility Checker)出错。它错误地处理内部表(布局表),就好像它的单元格是外部表(数据表)的单元格一样。如果你将内桌移出外桌,在它之后独立站立,这就变得很明显了;然后,在某些条件下,文档将自layout tables are indeed allowed以来通过检查。
尽管在这方面不需要修复以符合WCAG 2.0,但考虑使用CSS而不是布局表,如WCAG 2.0中所述。如果布局表只是一个两单元格表,这通常很简单。