代码之家  ›  专栏  ›  技术社区  ›  Bryce

<main>元素上是否需要role=“main”?

  •  5
  • Bryce  · 技术社区  · 11 年前

    如果定义内容主要部分的最具语义和可访问性的方式是标准的,那么使用ARIA标志似乎是多余的 <main> 要素正在添加 role="main" 到元素真的有必要吗?

    2 回复  |  直到 11 年前
        1
  •  8
  •   Fabrizio Calderan    11 年前

    并非所有现代浏览器都已经映射了aria角色 main <main> 元素(到目前为止,只有Firefox 21+和Chrome 26+对其进行了映射)。当所有浏览器都支持此功能时 role="main" 可以删除,但在此期间,最好还是使用它。

    来源:

    http://html5doctor.com/the-main-element/#comment-35495 (和史蒂夫·福克纳的回答) http://html5doctor.com/the-main-element/#comment-36407 (最后引用和回答)

        2
  •  3
  •   Yesvinkumar    11 年前

    这取决于您的原因,即为什么要缩进使用“角色”。

    在本地语义元素中使用角色的两个主要原因是:

    原因1。 如果没有合适的宿主语言元素,或者出于各种原因,使用了语义上不太合适的元素,则重写角色。

    例子:

    <a href="#" role="button" aria-label="Delete item 1">Delete</a>
    

    在上面的示例中,使用了一个链接,尽管生成的功能比导航链接更像按钮。

    屏幕阅读器将听到这是一个按钮(而不是链接),您可以使用CSS属性选择器来避免class-itis和div-itis。

    *[role="button"] {
      /* style these a buttons w/o relying on a .button class */
    }
    

    决议2。 备份本机元素的角色,以支持实现ARIA角色但尚未实现本机元素角色的浏览器。

    例如,浏览器多年来一直支持“main”角色,但这是HTML5中相对较新的添加,因此许多浏览器尚不支持的语义。

    <main role="main">…</main>
    

    这在技术上是多余的,但有助于某些用户,不会对任何人造成伤害。几年后,这项技术可能会变得不必要。

    您可以查看以下链接了解更多信息。。。

    Accessible Rich Internet Applications (WAI-ARIA) 1.0