【发布时间】:2015-03-31 11:05:19
【问题描述】:
我正在尝试创建一个语义正确且可访问的 (WCAG 2.0) HTML5 数据表。第一列包含的数据也可用作行的标题。
在 HTML 4.01 / XHTML 1.0 中,我使用scope 属性将这些单元格标记为td:
<td scope="row">
在 HTML5 中,td 元素不再允许使用 scope 属性。语义和可访问性的最佳方法是什么?
- 将第一列中的单元格标记为
th(数据方面丢失了?) - 将第一列中的单元格标记为
td并松开标题方面
恐怕在第二种情况下,该表将不太容易访问。
这种情况让我开始思考一般的数据表:在哪种情况下您会只使用列标题?因为数据表的性质暗示了一行单元格中数据之间的关系。对于可访问性,行不应该总是有一个标题,以传达这种关系吗?
例如这张表:
Principle | Corresponding guidelines
------------------------------------------------------------------------
Never leave a child unattended | 1, 3, 8
Always communicate what you are going to do | 4, 5, 6
Calm down before you take action | 5,9,13
您会将第一列(原则)中的单元格视为第二列的标题还是数据单元格?换句话说:你会用什么方式标记这个表?
【问题讨论】:
标签: html html-table accessibility semantic-markup wcag2.0