2016-05-13 86 views
2

我的代码片段如下: -为什么我不能在html导航标签中使用role =“navigation”属性?

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

当我确认这个代码,它将给我一个警告,但相同的代码可以在引导文件。
以下是截图 - bootstrap navbar code

+2

它在哪里说你不能?可以肯定的是,警告并没有这么说 - 这就是为什么它只是一个警告。 – BoltClock

回答

4

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

这是<main role="main">更常见的,后者是HTML的后续版本。


在年底,w3c validator不说你不能使用多余的标记,它只是提醒你,这是多余的和不必要的。

例如,验证:

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

产生如下警告:

警告:元导航不需要的角色属性。

如果它是无效的标记,你会收到一个错误。

+0

感谢您的帮助。对此,我真的非常感激。 –

0

因为role =“navigation”是可选的,并且只适用于支持ARIA的用户代理。

在此示例中,该页面包含一个顶部导航部分,该部分不使用ARIA导航角色,并且在页面底部有导航。导航的作用建议截至2014年9月,但在未来的某个时间点可能不需要。

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

+0

请在您的回答中总结示例 –

+0

@ noam-hacker好的,完成 – RobertoB

+0

感谢您的帮助 –

相关问题