简单的DOM / CSS澄清? [WCAG F17 1.3.1]

时间:2012-01-17 14:58:59

标签: html css dom accessibility wcag

http://www.w3.org/TR/WCAG-TECHS/F17.html

基于所涉及的一系列测试,我有一些问题需要了解这个标准以及导致网站失败的原因。

  1. 检查文档中不唯一的id和accesskey值。

  2. 检查具有idref值的属性值是否具有相应的id值。

  3. 对于使用axis属性的表,请检查axis属性中列出的所有值是否在同一个表的表头单元格中具有相应的id值。

  4. 对于客户端图像映射,如果usemap属性不是URI,请检查usemap属性的值是否具有相应的id值。

  5. 如果步骤#1,步骤#3或步骤#4为真或步骤#2为假,则应用此失败条件且内容未通过成功标准。

1 个答案:

答案 0 :(得分:1)

这些要求使您编写的HTML有效。

1 很简单。页面上的元素不能超过一个具有相同ID的元素。如果您的页面上有多个具有相同ID的元素,那么当您调用Javascript函数时

document.getElementById("idnamehere")

然后你将难以选择所有这些。如果您希望多个项目具有相同的样式,那么您应该使用class属性而不是ID。 ID必须是唯一的!

2 如果您为idref属性指定了元素,那么它必须对应于您在idref属性中指定了id的现有元素。例如,如果要使用以下idref:

<p idref="data"></p>

然后,文档中某处必须存在现有ID,如下所示:

<span id="data"></span>

您无法引用不存在的ID!

3 我之前从未使用过axis属性,但是我从阅读该文档和少量Google搜索中了解到了这一点;如果你想使用axis属性,那么每个单元格必须在它所在的列的表头中提供相应的轴属性。其他人可能能够对此进行扩展。

4 同样,我从未使用过ImageMap,但是W3C文档已经将这组规则分类为非唯一身份和不匹配引用的一般主题,所以我只能假设它类似于 2 ,其中,imagemap有一个相应的usemap,由其ID引用(除非它已被指定为URI)。


我认为本文档的要点是强制执行这样一个概念:对于需要它们的元素应该始终存在相应的属性,并且元素ID应始终保持唯一。

如果您正在尝试修改网站上的内容,那么http://validator.w3.org/可以非常方便地查找网页上的错误并对其进行描述。希望这有帮助!