【问题标题】:Simple DOM/CSS Clarification? [WCAG F17 1.3.1]简单的 DOM/CSS 说明? [WCAG F17 1.3.1]
【发布时间】:2012-01-17 14:58:59
【问题描述】:

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

根据所涉及的一系列测试,我在理解此标准以及网站失败的原因方面存在一些问题。

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

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

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

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

如果第 1 步、第 3 步或第 4 步为真或第 2 步为假,则此失败条件适用并且内容不符合成功标准。

【问题讨论】:

    标签: html css dom accessibility wcag


    【解决方案1】:

    这些是使您编写的 HTML 有效的一系列要求。

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

    document.getElementById("idnamehere")
    

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

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

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

    那么你的文档中一定有一个现有的 id,看起来像:

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

    您不能引用不存在的 id!

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

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


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

    如果您正在尝试修复您网站上的某些问题,那么http://validator.w3.org/ 可能是一个非常方便的资源,用于查明您页面上的错误并进行描述。希望这会有所帮助!

    【讨论】:

    • +1 表示勇敢。您对轴属性有点不满意,但是,看起来是编写该技术的人,因为轴属性不包含 id 引用,因此要求是无稽之谈。
    • 进一步考虑这一点,如果您在第 3 点中用“headers”代替“axis”,那么这一点是有道理的。鉴于这两个属性之间的关系,这很可能是预期的结果。
    • 谢谢,在您的帮助下,我能够找出问题并解决它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 2011-07-30
    • 2014-01-05
    • 1970-01-01
    • 2018-01-27
    相关资源
    最近更新 更多