角色 地标
contentinfo
全站页脚地标——版权声明、联系方式、法律链接。顶层 <footer> 元素会自动携带此角色。每个页面只能有一个 contentinfo。
使用时机
将 <footer> 作为 <body> 的直接子元素。当 <footer> 处于顶层时,浏览器会自动将其公开为 contentinfo 地标。若嵌套在 <article>、<section>、<main> 或 <aside> 内部,则仅为普通分组元素,不构成地标。
仅当无法使用 <footer>(例如使用旧版 CMS)时,才考虑在 <div> 上使用 role="contentinfo"。
每个页面只能有一个 contentinfo。若各文章有独立的页脚(如作者署名、分享按钮),应使用嵌套在 <article> 内的普通 <footer>——它们不会成为地标,这正是期望的结果。
何时添加标签
单个 contentinfo 无需标签——屏幕阅读器会将其播报为”content information”。若觉得有必要添加标签,通常说明页面存在两个 contentinfo,其中一个不应作为顶层页脚。
常见错误
- 页面顶层存在两个
<footer>元素,形成两个 contentinfo 地标,屏幕阅读器用户无法区分哪个才是真正的页脚。 - 在嵌套于
<article>或<main>内部的<footer>上使用role="contentinfo",这会覆盖默认的非地标行为,增加不必要的干扰。 - 将”次要导航”链接以平铺列表的形式置于
<footer>中,应将其包裹在<nav aria-label="Footer">内,使其作为导航地标呈现。 - 将全站 Cookie 横幅置于
<footer>内——Cookie 横幅应作为对话框或区域,而非 contentinfo 的组成部分。 - 在 DOM 中保留空的
<footer>作为布局占位符,导致 contentinfo 地标存在但没有任何内容。
示例
<body>
<header>…</header>
<main>…</main>
<footer>
<nav aria-label="Footer">
<a href="/about">About</a>
<a href="/privacy">Privacy</a>
<a href="/contact">Contact</a>
</nav>
<p>© 2026 Disability World</p>
</footer>
</body>