nav标签仅在包裹真实跳转链接、结构可访问、语义精准时生效;空、含logo/搜索框或伪链接的nav会被忽略,必须按“站点级、重复性、主要跳转路径”标准筛选内容,内部用ul/li结构,当前页加aria-current="page",多nav需aria-label区分,href须准确匹配部署路径与协议。

nav标签不是为了“让导航看起来像导航”
它只在包裹真实跳转链接、结构可访问、语义精准时才生效。浏览器和屏幕阅读器会直接忽略空
哪些链接该进nav,哪些必须踢出去
核心判断标准是:这组链接是否承担「站点级、重复性、主要跳转路径」功能?
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
- ✅ 该放:
href="index.html"、href="/products"、href="#features"——顶部菜单、侧边栏目录、页内锚点导航 - ❌ 必须移出:
<button onclick="goTo('about')"></button>、<div class="logo"></div>、<form></form>、社交媒体图标链接 - ⚠️ 面包屑可以进
内部结构怎么写才不踩坑
用<ul></ul>不是为了CSS好写,而是WCAG和主流读屏器只稳定识别这种结构。平铺@#@#@#@#@#@#@#@#@#@0,别省<li>
aria-current="page",比如@#@#@#@#@#@#@#@#@#@1
role="navigation"是冗余的,现代浏览器已原生支持<nav></nav>语义,加了反而可能干扰解析href值写错,nav再规范也没用
语义再准,跳转失效等于白搭。常见错误不是语法错,而是部署环境和交互预期不匹配。
- 内部页面优先用根相对路径:
href="/contact",避免href="contact.html"在子目录下404 - 锚点跳转要防fixed遮挡:
html { scroll-padding-top: 80px; }或给目标元素加scroll-margin-top - 外部链接必须带协议:
href="https://example.com",不能只写href="example.com" - 邮箱链接必须写全:
href="mailto:help@example.com",漏mailto:前缀会变成404
最常被忽略的是:nav本身不处理跳转逻辑,它只负责说清“这是导航”。跳转是否可靠,全看href值是否与实际路由、部署路径、协议层级对得上。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










