我需要创建符合 508 的代码,并且遇到了一个没有标题的表的问题。每行仅在左列中包含一个类别名称,在右列中包含值。所以我想我最初的问题是——这是一个数据表吗?是否应该以不同的方式表示,例如列表?如果它是一个有效的数据表,我必须为每列发明一个标题名称吗?信息采用从未有列标题的特定格式,所以我什至不确定客户是否想要这些,但我想知道我是否需要告诉他们他们必须在那里才能严格符合 508 ? 最后,有没有一种方法可以让那些使用屏幕阅读器的人可以访问这些标题,但普通观众看不到这些标题?
1 回答
是的,它是一个数据表——结构非常简单,但仍然如此。将其表示为 adl
是可能的,但会引发各种格式问题并且可能难以访问(因为浏览工具可能对 HTML 表格有特殊支持,几乎不支持dl
)。
508 规则中的 (g) 条规定:“应为数据表标识行和列标题。” 严格的解释是每一行每一列都必须有一个标题。在您的情况下,这对行来说不是问题,因为第一列中的单元格在逻辑上是此处的行标题,因此您只需将<td scope=row>
其用于它们。但是您需要添加一行列标题。
目前尚不清楚这是否需要合规;该规则没有“全部”一词,解释性散文说“每个表的第一行应包括列标题。” 所以它使用“should”,而不是“shall”或“must”。
如果规则需要列标题,我会说它们是,例如使用客户端脚本添加它们是不可接受的(因为当脚本被禁用时它们将不存在)。仅在某些浏览模式下使用它们也是不可接受的;规则是通用的(即使在“正常”浏览时,标题也确实很有用)。
考虑向看不到它的人大声朗读该页面的行为。如果表格的内容刚开始时没有警告或解释,可能会造成混淆。即使在图形浏览中,用户也可能会感到困惑,部分取决于认知困难。表格前的文字说明(在标题或文本段落中)、表格的标题和一行列标题都可能在这里有所帮助。列标题的内容应作为其中的一部分进行规划;如果在其他案文中说明情况,它们可能会相当简洁。