<nav>标记</nav>的目的是什么

时间:2013-10-08 15:43:24

标签: html html5 navigation

我已经阅读了很多关于导航标签应该在何处以及如何使用的问题 我知道我们的目的是将“主要”导航元素放在其中,但它的目的是什么?

我可以看到w3schools说明了

  

“浏览器,例如禁用用户的屏幕阅读器,可以使用此功能   元素,以确定是否省略此初始呈现   内容“。

但它是否有任何进一步的用途,是否有任何其他含义忽略<nav>标签?

4 个答案:

答案 0 :(得分:7)

这是HTML中的语义改进。带有

的页面的随机部分
<div>
    <div>
        <div>
            <ul>
                <li>...</li>
                <li>...</li>
                <li>...</li>
...

本身并不意味着什么,并且只有当用户在图形页面上查看时才被理​​解为“导航”组件。使用屏幕阅读器,文本浏览器或任何辅助技术的人都不会轻易理解标签汤背后的含义。

另一方面,通过将标记包含在有意义的语义标签中,屏幕阅读器很容易理解文档的特定部分是用作导航,并采取必要的行动。

此外,开发人员也可以更轻松地查看标记并立即识别它的用途。

<nav>
    <ul>
        <li>...</li>
...

答案 1 :(得分:3)

<nav>这样的标签的目的是语义标记:即页面元素的理解能力和合理描述。 <div id='nav'>的替代方案可以,但更笨重。网页抓取工具等更快乐地找到您描述和展示的内容,因此我建议尽可能多地使用这样的标签。

答案 2 :(得分:1)

工具/用户代理可能(或可能不)用它做任何;现在或将来。

你完成工作(标记你的内容),工具完成他们的工作(解释你的标记)。唯一“省略”nav元素的含义是,这些工具不能将这些信息用于解释。

nav definition给出了一个非规范性的说明:

  

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

但不难想象其他目的:

  • 文本浏览器可能会以不同方式显示导航
  • 移动浏览器可能提供显示/隐藏导航的方法
  • 搜索引擎可能会忽略用于对网页进行排名的导航内容
  • 打印机可以默认排除导航
  • ...

关于页面结构的更多信息已知,通过各种工具可以对页面进行更多操作。这就是所谓的语义标记的全部要点。

答案 3 :(得分:-1)

以最简单的方式。通过nav标签,您可以使用CSS处理所有在页面顶部找到的HTML标签。将类别或ID赋予nav标签。将所有HTML标签与CSS一起置于nav标签下,或更改其颜色或增加字体大小。导航标签不是单独进行干扰,而是用于干扰导航标签中的所有HTML标签。