为什么我不能在 html 导航标签中使用 role="navigation" 属性?

Why I can't use role="navigation" attribute in html nav tag?

我的代码片段如下:-

<nav role="navigation" data-offset-top="100" data-spy="affix" class="navbar navbar-inverse navbar-fixed-top">

当我验证此代码时,它会给我一个警告,但 bootstrap 文档中提供了相同的代码。
这是截图 -

<nav role="navigation"> 是多余的,所以不鼓励。在某些元素的过渡期间,除了新标签外,还鼓励同时使用 [role] 属性,但前提是浏览器支持新标签的隐式语义。

这在 <main role="main"> 中更常见,它是后来添加到 HTML 的。


最后,w3c validator并没有说你不能使用冗余标记,它只是警告你这是多余的和不必要的。

例如,验证:

<!doctype html>
<title>example</title>
<nav role="navigation"></nav>

产生以下警告:

Warning: Element nav does not need a role attribute.

如果它是无效标记,您会收到错误消息。

因为 role="navigation" 是可选的,它仅适用于支持 ARIA 的用户代理。

在此示例中,页面包括一个不使用 ARIA 导航角色的顶部导航部分,以及一个使用 ARIA 角色的页面底部导航。自 2014 年 9 月起建议使用导航功能,但在未来的某个时间点可能不需要。

示例:https://awkawk.github.io/using_nav.html