address必须是article的直接子元素,不能嵌套在div或footer中;其内容仅限短语级可交互信息,需为每篇article独立设置,且须手动添加视觉样式以保障可识别性。

address必须是article的直接子元素,不能嵌套在div或footer里
如果你把address写在里,浏览器和屏幕阅读器就认不出这是作者联系信息——语义链断了。它只看离得最近的合法父容器,而div不是sectioning root,不会触发归属绑定。
正确结构只有两种:
标题
正文
author@example.com标题
正文
GitHub: @zhang
注意:footer本身不传递语义,哪怕它在article内部,只要address没直接挂到article下,就失效。
address里只能放可交互的短语内容,别塞p或h3
HTML5 明确限制 邮箱:xxxaddress的内容模型为 phrasing content,也就是内联级、能直接联络的项。常见错误是加个当标题,或者用作者信息
包装——这两者都会让验证失败,部分读屏软件跳过整段。
合法写法包括:
-
webmaster@site.com(带mailto:链接) -
+86 10 1234 5678(带tel:) -
GitHub: @zhang(纯文本+链接组合) -
办公地址:北京市朝阳区XX路1号(前端组收)(物理地址必须带明确责任人和联络意图)
换行只能用,比如:author@example.com。
tel:+861012345678
GitHub: @zhang
同一页面多个article,每个都要独立配address
博客列表页有5篇文章?那就该有5个article,每个末尾各自跟一个address。别图省事全堆在页面底部的里——那样只有一个会被识别为“页面级”联系人,其余全降级成普通文本。
这种结构才对:
<article><h2>第一篇</h2> <p>内容...</p> <address>author1@site.com</address> </article><article><h2>第二篇</h2> <p>内容...</p> <address>author2@site.com</address> </article>
如果某篇文章是团队合著,address里写前端组 web@team.org比单写“XXX公司”更准确——重点是“谁负责这篇”,不是“公司叫什么”。
现代浏览器已移除斜体,但语义还在,你得手动加视觉提示
Chrome 120+ 和 Firefox 125+ 已彻底清空address的默认样式:font-style: italic、margin 全没了。它现在视觉上和div一样,但语义没丢——问题是你不加样式,用户根本看不出这是联系信息。
推荐最小化重置:
address {
font-style: normal;
margin-top: 1em;
padding-left: 1em;
border-left: 2px solid #007bff;
}
别写display: block,它本来就是块级;也别依赖颜色或图标暗示语义,无障碍测试会失败。真正容易被忽略的是:每次加address前,都得确认它回答的是“谁写了这篇”,而不是“客服在哪找”。边界模糊时,宁可不用,也别硬套。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











