【问题标题】:Are 'role' attributes necessary in HTML5?HTML5 中是否需要“角色”属性?
【发布时间】:2018-02-17 18:20:33
【问题描述】:

为了跟上 HTML5 的步伐,我确保使用 W3 validator tool 验证我的所有标记。最近,我开始为元素添加role 属性。但是,我注意到一次又一次弹出以下警告:

button 角色对于元素 button 来说是不必要的。

navigation 角色对于元素 nav 来说是不必要的。

但出于同样的原因,在 W3C 网站上关于 HTML 中的 ARIA,它指出 button role 适用于 <button> 元素,而 navigation role 适用于<nav> 元素。

这让我想到了我的问题,role 属性对于 HTML5 之外的角色是必需的吗?我有什么需要使用它们的场景?

【问题讨论】:

    标签: html wai-aria


    【解决方案1】:

    first rule of ARIA 声明:

    如果您可以使用原生 HTML 元素 [HTML51] 或属性 您需要的语义和行为已经内置,而不是 重新利用元素并添加 ARIA 角色、状态或属性 使其可访问,然后这样做。

    如果你在WAI-ARIA中查看navigation role,它说明HTML Nav是一个相关概念,navigation=role已经是默认角色,所以不需要自己手动设置:

    允许的 ARIA 角色属性值: 导航角色(默认 - 不设置)。

    所以导航角色适用于<nav>,但是已经默认设置好了,所以你不需要自己做。

    总结您的问题,不,如果角色已经隐含在 HTML5 的语义中,则不要设置角色。您可以查看下面的网站,我认为该网站概述了关于何时应该/不应该使用 ARIA 的一些要点(这不仅与角色属性有关,但它也涵盖了这一点):
    What is WAI-ARIA, what does it do for me, and what not?

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-17
      • 2015-09-20
      • 2017-12-20
      • 2014-07-16
      • 2011-08-20
      相关资源
      最近更新 更多