aside仅适用于可省略的弱关联补充内容,如代码旁注意事项或文章末尾作者简介;导航和广告均不满足该前提,误用会损害可访问性、SEO与合规性。

aside 标签不能用来构建导航或广告位——这是语义误用,会直接损害可访问性、SEO 和合规性。 它只适用于“删掉也不影响主文成立”的弱关联补充内容,比如某段代码旁的注意事项、文章末尾的作者简介。导航和广告都不满足这个前提。
aside 里放导航链接为什么错?
导航是功能型、全局性、不可省略的结构,aside 的语义是“可安全省略的旁注”。浏览器和读屏工具会把 aside 解读为 complementary landmark(补充区域),用户无法通过快捷键快速跳转到主导航;搜索引擎也可能降权该区块的链接权重。
- 主站导航应始终用
<nav></nav>,哪怕它视觉上在侧边 - 如果只是某篇文章内的“本文目录”,且仅服务于该文,才考虑
aside+aria-labelledby - 用
aside包裹分类筛选器、排序按钮等交互控件,会导致键盘焦点逻辑混乱,必须手动补tabindex="0"和焦点管理
广告为什么不能塞进 aside?
广告与主内容无主题关联,也不满足“可省略”前提——法律要求广告必须清晰可识别、不可被辅助技术跳过或忽略。而 aside 的语义恰恰暗示“可以跳过”,这会造成合规风险。
- 第三方 JS 广告插槽应使用
<div class="ad-slot"></div>,靠 class 控制样式和行为 - 嵌入正文中的推广卡片,用
<div role="complementary" aria-label="推广内容"></div>更准确 - 页头横幅类 banner,推荐
<section aria-label="广告"></section>,避免语义污染 - 绝对不要把广告放在
<nav></nav>、<header></header>或<footer></footer>内部,除非它真是导航的一部分(如“广告合作入口”)
什么情况下真的该用 aside?
判断唯一标准:删掉这块内容,主文是否依然自洽、逻辑完整、信息不缺失?如果是,且它和当前上下文有弱主题关联(非功能、非导航、非商业意图),才考虑 aside。
- 博客文章右侧的“本文作者”卡片,放在
<article></article>内部 - 教程中某段
useEffect代码旁的“注意:空数组参数表示只运行一次”,紧贴该代码块下方 - 新闻稿里的“事件时间线”背景框,作为
<section></section>的兄弟节点出现 - 产品页中“客户评价摘要”,前提是它不是核心卖点描述,而是额外佐证
最容易被忽略的一点:aside 本身不控制布局,也不自带“侧边”效果。你写一个 aside,它默认就是普通块级元素,占满一行。所谓“侧边栏”,全靠 CSS 的 display: flex 或 grid 实现——语义和样式必须解耦,否则一换主题就崩。


















