5

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

我可以看到w3schools这么说

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

<nav>但它还有其他用途吗,省略标签还有其他含义吗?

4

3 回答 3

9

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

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

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

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

此外,开发人员也更容易查看标记并立即识别它的用途。

<nav>
    <ul>
        <li>...</li>
...
于 2013-10-08T15:51:13.227 回答
3

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

于 2013-10-08T15:47:46.790 回答
2

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

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

nav定义给出了一个非规范性注释:

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

但不难想象其他用途:

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

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

于 2013-10-08T17:21:03.097 回答