中用包裹版权文字更合适,因是w3c定义的「附属细则」语义标签,专为版权声明等次要但需保留的信息设计;而仅表普通正文,会弱化法律信息识别特征。

footer里放版权文字,为什么比
更合适
不是用来“缩小字号”的视觉标签,而是 W3C 明确定义的「附属细则」语义——专为版权声明、备案号、法律条款这类次要但需保留的信息设计。
- 用
<p></p>包版权,语义上表示“一段普通正文”,会被屏幕阅读器读作“段落”,失去法律信息的识别特征 - 用
<small></small>,辅助技术会识别为“次要内容”,搜索引擎也更倾向将其归类为元信息而非主内容 - 多个版权项(如主站 + 子产品)可并列写多个
<small></small>,无需额外容器,语义清晰且 DOM 简洁 - 别把
<small></small>套在邮箱、电话或导航链接外——那些是用户要点击的主操作项,不该弱化
页脚里的联系信息必须用包裹
直接写“客服邮箱:support@example.com”是常见错误。HTML 规范要求所有联系信息(邮箱、电话、地址、社交媒体链接)必须放在<address></address>内,否则语义断裂,屏幕阅读器无法识别其用途。
-
<address></address>只能出现在<footer></footer>、<article></article>或中,不能嵌套在<p></p>或<div>里 <li>它默认有斜体样式,但这是语义暗示,不是视觉装饰;CSS 可重置字体,但不应移除该标签</li> <li>多个联系方式(如邮箱+电话+地址)应统一包在一个<code><address></address>里,而不是拆成多个 - 别用
<address></address>包“友情链接”或“关于我们”这类非联系类内容——那属于导航,该用<nav></nav> - 每个导航组(如“产品”“支持”“公司”)都要单独用
<nav></nav>包裹,并加aria-label说明用途,例如aria-label="产品导航" - 组内链接必须用
<ul><li><a></a></li></ul>结构,禁止用<span></span>或<div>模拟列表——键盘导航、屏幕阅读器跳转、SEO 权重分配全依赖这个结构 <li>如果页脚有多个导航区块,不要共用一个<code><nav></nav>;每个逻辑组独立声明,避免混淆作用域 - 别给
<nav></nav>加role="navigation"——冗余,<nav></nav>已隐含该 role - 最稳妥:
<small>© 2024–2026 MySite</small>——区间写法覆盖两年,无需维护 - 绝对避免:
<small>© <script>document.write(new Date().getFullYear())</script> MySite</small>——JS 执行失败即留空,且无 fallback - 后端模板(如 PHP/Jinja)可安全插值,但输出必须是纯 HTML 字符串,不能含未闭合标签
- 别用 CSS 的
::after伪元素添加年份——辅助技术不可见,打印时也不出现
站点地图链接必须用
把“首页|产品|文档|博客|联系我们”直接塞进<footer></footer>是典型语义污染。这些是导航入口,不是页脚元信息,必须用<nav></nav>明确标记,并用列表组织。
为什么
动态年份用 JavaScript 生成看似方便,但实际破坏可访问性与 SEO:爬虫看不到年份,JS 报错时显示空白,模板未转义还可能截断标签。静态写法更可靠,关键是怎么写。











