我已经阅读了一大堆关于应该在哪里以及如何使用导航标签的问题,我知道我们应该在其中放置“主要”导航元素,但它的目的是什么?
我可以看到w3schools这么说
“浏览器,例如残疾用户的屏幕阅读器,可以使用此元素来确定是否省略此内容的初始呈现。”
<nav>
但它还有其他用途吗,省略标签还有其他含义吗?
我已经阅读了一大堆关于应该在哪里以及如何使用导航标签的问题,我知道我们应该在其中放置“主要”导航元素,但它的目的是什么?
我可以看到w3schools这么说
“浏览器,例如残疾用户的屏幕阅读器,可以使用此元素来确定是否省略此内容的初始呈现。”
<nav>
但它还有其他用途吗,省略标签还有其他含义吗?
这是对 HTML 的语义改进。页面的随机部分
<div>
<div>
<div>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
...
本身并没有多大意义,仅在用户在图形页面上查看时被理解为“导航”组件。使用屏幕阅读器、文本浏览器或任何辅助技术的人不会轻易理解标签汤背后的含义。
另一方面,通过将您的标记包含在有意义的语义标签中,屏幕阅读器将很容易理解文档的特定部分将用作导航,并采取必要的操作。
此外,开发人员也更容易查看标记并立即识别它的用途。
<nav>
<ul>
<li>...</li>
...
类似标签的目的<nav>
是语义标记:即页面元素的可理解性和合理描述。的替代方案<div id='nav'>
还可以,但要笨重得多。网络爬虫等更乐意找到描述和布局良好的内容,因此我建议尽可能使用这样的标签。
工具/用户代理可能(或可能不)用它做任何事情;现在或将来。
你做你的工作(标记你的内容),工具做他们的工作(解释你的标记)。唯一“省略”该nav
元素的含义是,这些工具不能使用此信息进行解释。
该nav
定义给出了一个非规范性注释:
用户代理(例如屏幕阅读器)针对的用户可以从初始呈现中省略的导航信息中受益,或者可以从立即可用的导航信息中受益,可以使用此元素来确定页面最初跳过或根据要求提供(或两者)。
但不难想象其他用途:
对页面结构了解得越多,各种工具对页面的操作就越多。这就是所谓的语义标记的全部意义所在。