为什么HTML 5中有<nav>标签?

时间:2016-04-13 19:20:55

标签: html html5

我正在学习 HTML 5 ,我读到&lt; nav&gt; tag定义了一组导航链接。我明白了这个含义,但没有任何理由知道这些标签需要什么,例如&lt; header&gt; ,&lt; footer&gt;和&lt; nav&gt;。

考虑这里的例子

<div>
  <a href="">HTML</a>
  <a href="">CSS</a>
  <a href="">JS</a>
</div>

上述代码的输出将是

HTML CSS JS

考虑另一个代码

{{1}}

并且这些代码的输出也是

HTML CSS JS

它显示&lt; nav&gt;标签没有为其内容添加任何特殊含义,那么这种标签的目的是什么。

5 个答案:

答案 0 :(得分:4)

这些标签的目的更多是针对语义HTML 。它增强了网页/网络应用程序中信息的含义,而不仅仅是样式或演示文稿。

这些标签可用于为读者提供更易于理解的网页流程。这就是为什么当使用这些标签时,它们应用了不同的CSS样式,以便创建流程,让读者/用户知道什么是重要的,或者什么不重要。

要回答您在标题中提出的问题,特别是有关<nav>标记的问题,屏幕阅读器可以将其用于已禁用的用户。例如,<nav>标记可用于确定是接受还是拒绝特定内容的呈现。具体来自w3schools

答案 1 :(得分:1)

特殊标签也适用于搜索引擎。然后,googlebot可以查看导航菜单,页脚和标题的开始和结束位置。

答案 2 :(得分:0)

来自W3学校:

&#34;浏览器(例如禁用用户的屏幕阅读器)可以使用此元素来确定是否省略此内容的初始呈现。&#34;

我的商店为屏幕阅读器使用此功能来实现网络访问。

http://www.w3schools.com/tags/tag_nav.asp

答案 3 :(得分:0)

  

我读到<nav>标记定义了一组导航链接。

w3c specification*<nav>元素的官方说明如下:

  

nav元素表示页面的一部分,该页面链接到其他页面或页面中的部分:带有导航链接的部分。

  

我理解其含义,但没有任何理由认为<header><footer><nav>这类标签的需求是什么。

根据定义,规范继续增加一些注释,特别是:

  

注意:针对可以从初始渲染中忽略的导航信息中受益的用户或可以立即获得导航信息的用户的用户代理(例如屏幕阅读器)可以使用此元素作为确定页面上最初跳过或提供请求(或两者)的内容的方法。

  

[我的例子]表明标签没有为其内容添加任何特殊含义,那么这种标签的目的是什么。

这是一个有缺陷的思路。所提到的浏览器语义*并没有讨论如何读取元素的含义。浏览器语义指的是预期浏览器如何解释给定元素

如果使用<div>元素 - 语义透明 - 浏览器在解释文档进行辅助导航时会完全忽略它。好像<div>根本就没有,内容只是在<div>元素的父容器中松散。

如果您使用<nav>元素,浏览器会注意该节点包含用于在网站或部分周围导航的内容。如果您使用的是屏幕阅读器,则可以使用键盘控件快速切换页面的<nav>部分列表。

*这个词意味着在没有进入关于语义本质的元讨论以及&#34;意味着&#34;的情况下难以讨论的意义。装置

答案 4 :(得分:0)

标签可帮助安排要浏览的单词。有了标记,浏览器就可以更轻松地知道要导航这些标记,并将其照原样处理。