首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导航role=navigation

导航role=navigation
EN

Stack Overflow用户
提问于 2013-02-16 21:53:45
回答 4查看 36.2K关注 0票数 38

我对角色有点迷惑。如果我的页面中有一个包含在nav元素中的导航,并指定了一个role="navigation"

代码语言:javascript
复制
<nav role="navigation">
    ...
</nav>

nav部分是导航,这不是已经在语义上明确了吗?

或者,如果我在页面上有一些其他导航部分,并且只为其中一个指定了角色,那么这个部分会成为页面上最重要的部分吗?那些没有role="navigation"的人只是无聊的导航吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-16 22:03:19

诚然,大多数现代浏览器/技术都将HTML5 <nav>元素识别为导航,并给予同样的关注。但是显式地设置role="navigation"属性只会确保更多的技术可以使用它。

例如,面向残障用户的屏幕阅读器和其他技术很少完全符合标准(特别是如果他们必须一直工作到IE6或更低版本!)因此,显式地添加角色属性总是可以确保覆盖尽可能多的用户的所有基础。

此外(这只是一个猜测)一些不太知名的搜索引擎可能还没有完全识别HTML5,所以添加这些角色应该有助于网站的爬行能力。

票数 34
EN

Stack Overflow用户

发布于 2014-09-24 18:50:26

看看来自W3C的at this。上面写着:

在大多数情况下,设置与默认隐式ARIA语义匹配的ARIA角色和/或aria-*属性是不必要的,也不建议这样做,因为浏览器已经设置了这些属性。

所以做<main role="main">是不必要的,也不推荐这样做。也就是说,<nav role="navigation">自带的拷贝( everybody -including me- copy-pastes)。

老实说,我不确定什么是正确的。

票数 21
EN

Stack Overflow用户

发布于 2016-08-11 16:53:52

W3C建议:“但是,为了使支持ARIA的用户代理更容易访问该结构,并确保不支持HTML5的用户代理也能理解该结构,建议添加ARIA role=”导航“。”https://www.w3.org/WAI/GL/wiki/Using_HTML5_nav_element

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14911038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档