标签仅用于声明页面或文章的责任归属,不可作为联系信息列表容器;其内容须为直接联络方式且为或的直系子元素,禁止嵌套块级元素,换行只能用。

address 标签不能用来排版“联系人地址与通讯信息”列表——它只负责声明责任归属,不是容器、不是样式工具、不支持结构化排版。
为什么用 address 做联系信息区块会出问题
很多人把 @#@#@#@#@#@#@#@#@#@0、tel:+861012345678、@#@#@#@#@#@#@#@#@#@1
来信请寄:北京市朝阳区建国路1号(前端组收),不能单写 北京市朝阳区建国路1号
<p>邮箱:a@b.com</p>、<h3>联系我们</h3>、<ul><li>电话:123</li></ul>
<br>,例如:webmaster@site.com<br>+86 10 1234 5678<br>GitHub
该放哪儿?作用域错了等于没写
address 的语义完全由其父级决定,不是你写在哪就生效在哪。
- 在
@#@#@#@#@#@#@#@#@#@2 - 在
顶层(未被article包裹)→ 代表整个页面的拥有者或维护者,典型位置是页脚最底部,紧挨着版权信息之前 - 写在
<section></section>、<header></header>、<aside></aside>或弹窗里 → 语义断裂,辅助技术可能跳过或误判为主要内容 - 嵌套在
<footer></footer>里没问题,但<footer></footer>本身不是语义锚点——address必须是或<article></article>的直系子元素,不是<footer></footer>的子元素
替代方案:真要排版联系信息列表,用什么
如果你需要展示“客服电话、门店地址、工作时间、微信二维码”这类多字段、非归属型联系信息,address 就不该出场。
- 用
<dl></dl>+<dt></dt>/<dd></dd>:结构清晰,语义中性,适合字段明确的联系信息表 - 用
<div role="complementary">:当内容属于补充性联系渠道(如“关注我们”“扫码加客服”),比乱用 <code>address更合理 - 用微数据(Microdata)或 JSON-LD:对发货地、营业地址、经纬度等地理类信息,结构化数据才是标准解法
- 纯视觉排版需求?直接用
<div class="contact-list"> + CSS Grid/Flex,别硬套语义标签 <p>最容易被忽略的一点:现代浏览器已不靠样式识别 <code>address,你重置了font-style和margin没关系,但必须手动加视觉区分(比如左竖线、浅灰背景、缩进),否则用户根本看不出哪段是联系人——语义再准,看不见就等于没写。











