侧栏内容该用aside而非section,因为aside专指与主内容相关但可独立存在的附属信息(如广告、作者简介),而section强调主题分组且属于主内容流,误用会误导辅助技术与搜索引擎。

侧栏内容该用 aside 还是 section?
aside 是唯一专为“与主内容相关但可独立存在”的侧栏设计的语义标签。它不表示“随便放点东西的容器”,而是明确表达:这部分内容依附于上下文(比如一篇 article 或整个 main),但本身有独立价值——广告、作者简介、相关链接、目录索引都符合这个定义。
section 则完全相反:它强调主题分组,必须有明确的语义标题(如 h2),且属于主内容流的一部分。把广告或推荐列表包进 section,反而会误导屏幕阅读器和搜索引擎,让它误以为这是正文的某个章节。
常见错误现象:
- 用 div class="sidebar" 完全丢失语义
- 把右栏导航菜单放进 section,结果被爬虫当成文章子章节索引
- 在 article 内部用 aside 放评论区,却没意识到评论本身更适合用 article 嵌套(因为每条评论是独立内容单元)
aside 的嵌套规则和边界在哪?
aside 的语义依赖于它所处的上下文层级。它不是全局“侧边栏”开关,而是一个相对关系标签:
- 如果整个页面是博客首页(多篇文章列表),页面级
aside可放“热门标签”“订阅入口”等全局辅助信息 - 如果在单篇
article内部,aside就只能放这篇博文特有的相关内容,比如“本文提到的参考规范”“延伸阅读”“作者技术栈说明” - 不要跨层级混用:不能在
header里塞一个aside来放 logo 旁边的 slogan——那是header自身内容,不是“附属”
使用场景判断口诀:
- 用户不看主内容也能理解它?→ 不适合 aside(比如页脚版权,该用 footer)
- 拿掉它,主内容逻辑依然完整?→ 符合 aside 定义
- 它是否可能被单独 RSS 推送或重用?→ 更倾向用 article 而非 aside
为什么不用 nav 或 section 替代?
nav 只用于导航链接集合,哪怕它物理位置在右侧,只要功能是跳转到其他页面/锚点,就该用 nav,而不是 aside。例如右栏的“分类导航”“归档年份列表”,本质仍是导航,应包裹在 nav 中——可以嵌套在 aside 里,但不能省略 nav。
section 没有“附属”含义,它的存在是为了结构化主内容。把“相关文章推荐”放进 section,等于告诉机器:“这是本文的第4个小节”,这显然违背事实。
性能与兼容性影响很小,但可访问性影响直接:
- 屏幕阅读器会把 aside 标记为“次要内容”,允许用户跳过
- 搜索引擎识别出 aside 后,会降低其中链接的权重,避免被当作主站导航误判
- 所有现代浏览器对 aside 的默认样式为空,无需重置,但旧版 IE 需要 display: block 声明(仅当还支持 IE8–9 时才需考虑)
实际写法中容易漏掉的关键点
aside 不强制要求有标题,但若它承载的是有明确主题的内容(如“编辑推荐”“本周更新”),最好加上 h2 或 h3——这不是为了样式,而是补全语义链:没有标题的 aside 容易被辅助技术忽略。
不要为了“看起来像侧栏”而强行用 aside:
- 登录表单弹窗?该用 dialog 或带 role="dialog" 的 div
- 页面底部的“友情链接”区块?属于 footer 的一部分,不是 aside
- 左右双 aside 并列?可以,但需确保二者服务对象一致(如都隶属于同一 main),否则右侧那个可能该属于下一个 section 的附属
真正难的不是选标签,而是判断内容和主文档之间是否存在“附属但独立”的关系。多数人卡在这里:把所有非主内容都当成“侧栏”,却没想清楚它到底服务于谁、能不能脱离上下文成立。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











