我对角色有点迷惑。如果我的页面中有一个包含在nav元素中的导航,并指定了一个role="navigation"。
<nav role="navigation">
...
</nav>nav部分是导航,这不是已经在语义上明确了吗?
或者,如果我在页面上有一些其他导航部分,并且只为其中一个指定了角色,那么这个部分会成为页面上最重要的部分吗?那些没有role="navigation"的人只是无聊的导航吗?
发布于 2013-02-16 22:03:19
诚然,大多数现代浏览器/技术都将HTML5 <nav>元素识别为导航,并给予同样的关注。但是显式地设置role="navigation"属性只会确保更多的技术可以使用它。
例如,面向残障用户的屏幕阅读器和其他技术很少完全符合标准(特别是如果他们必须一直工作到IE6或更低版本!)因此,显式地添加角色属性总是可以确保覆盖尽可能多的用户的所有基础。
此外(这只是一个猜测)一些不太知名的搜索引擎可能还没有完全识别HTML5,所以添加这些角色应该有助于网站的爬行能力。
发布于 2014-09-24 18:50:26
看看来自W3C的at this。上面写着:
在大多数情况下,设置与默认隐式ARIA语义匹配的ARIA角色和/或aria-*属性是不必要的,也不建议这样做,因为浏览器已经设置了这些属性。
所以做<main role="main">是不必要的,也不推荐这样做。也就是说,<nav role="navigation">自带的拷贝( everybody -including me- copy-pastes)。
老实说,我不确定什么是正确的。
发布于 2016-08-11 16:53:52
W3C建议:“但是,为了使支持ARIA的用户代理更容易访问该结构,并确保不支持HTML5的用户代理也能理解该结构,建议添加ARIA role=”导航“。”https://www.w3.org/WAI/GL/wiki/Using_HTML5_nav_element
https://stackoverflow.com/questions/14911038
复制相似问题