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