【问题标题】:What is the purpose of the <nav> tag<nav> 标签的作用是什么
【发布时间】:2013-10-08 15:43:24
【问题描述】:

我已经阅读了一大堆关于应该在哪里以及如何使用导航标签的问题,以及 我知道我们打算在其中放置“主要”导航元素,但它的目的是什么?

我可以看到w3schools 这么说

“浏览器,例如残疾用户的屏幕阅读器,可以使用这个 元素来决定是否省略这个的初始渲染 内容。”

但是它还有什么用途吗,省略&lt;nav&gt;标签还有其他含义吗?

【问题讨论】:

  • 您不应使用或链接到w3schools。它不是可靠的信息来源,我们不想鼓励使用它。我建议改用Mozilla Developer Network
  • 含义?比如?
  • 谷歌搜索“html5 nav tag purpose”给出了一个很好的答案 - HTML5 Doctor

标签: html navigation


【解决方案1】:

这是对 HTML 的语义改进。页面的随机部分

<div>
    <div>
        <div>
            <ul>
                <li>...</li>
                <li>...</li>
                <li>...</li>
...

本身并没有多大意义,仅在用户在图形页面上查看时被理解为“导航”组件。使用屏幕阅读器、文本浏览器或任何辅助技术的人不会轻易理解标签汤背后的含义。

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

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

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

【讨论】:

    【解决方案2】:

    &lt;nav&gt; 这样的标签的目的是语义标记:即页面元素的理解能力和合理描述。 &lt;div id='nav'&gt; 的替代方案还可以,但更笨重。网络爬虫等更乐于找到描述和布局良好的内容,因此我建议尽可能使用这样的标签。

    【讨论】:

      【解决方案3】:

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

      你做你的工作(标记你的内容),工具做他们的工作(解释你的标记)。唯一“省略”nav 元素的“含义”是,这些工具无法使用此信息进行解释。

      nav definition 给出了非规范性注释:

      用户代理(例如屏幕阅读器)针对的用户可以从初始呈现中省略的导航信息中受益,或者可以从立即可用的导航信息中受益,可以使用此元素来确定哪些内容页面上的内容最初跳过或根据要求提供(或两者)。

      但不难想象其他用途:

      • 文本浏览器可能会以不同的方式显示导航
      • 移动浏览器可能会提供一种显示/隐藏导航的方式
      • 搜索引擎可能会忽略导航内容来对页面进行排名
      • 默认情况下打印机可能会排除导航

      对页面结构了解得越多,通过各种工具对页面所做的工作就越多。这就是所谓的语义标记的全部意义所在。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-30
        • 2011-05-27
        • 1970-01-01
        • 2016-09-27
        • 2011-06-08
        • 1970-01-01
        • 2010-10-16
        • 2015-10-04
        相关资源
        最近更新 更多