标签必须搭配datetime属性使用,否则机器无法解析时间信息;仅用于声明页面或article级归属联系人,误用会误导搜索引擎归因。

直接说结论:<time></time> 和 <address></address> 不是“可选装饰”,用错或不用,会导致搜索引擎无法提取关键时间/联系信息,屏幕阅读器播报失真,甚至被结构化数据工具忽略。
什么时候必须用 <time></time>,而不是随便写个日期文本
只要页面上出现**机器需要识别的时间点**——比如文章发布时间、活动截止日、API 返回的 created_at 字段——就必须用 <time></time>,且 datetime 属性不可省略。
- 错误写法:
<span>2026年7月1日</span>或<time>7月1日</time>(没datetime) - 正确写法:
<time datetime="2026-07-01">2026年7月1日</time>,动态渲染时必须由后端或 JS 注入 ISO 8601 格式值(如"2026-07-01T01:44:00+08:00") - 聚合类描述(如“近三天”“本月热门”)不用
<time></time>,那是语义不符;纯视觉提示(如倒计时数字)也不适用,它不表达固定时间点
<address></address> 只能用于联系信息,且仅限页面级或 article 级上下文
<address></address> 不是“放联系方式的容器”,它是语义上声明“此处提供本页面/本内容单元的归属联系人或组织”的标签。用错会误导搜索引擎归因主体。
- 页脚版权行里写公司地址和邮箱?可以:
<footer><address>contact@example.com</address></footer> - 博客文章末尾署名作者邮箱?可以:
<article>...<footer><address>author@blog.example</address></footer></article> - 侧边栏“合作伙伴联系方式”?不行——它不属于当前页面或 article 的归属信息,该用普通
<p></p>或<dl></dl> - 绝对不能套在导航链接、表单输入框或按钮外面,那会破坏辅助技术对交互区域的理解
嵌套位置与 role 降级风险:为什么 <time></time> 放在 <header></header> 里更安全
<time></time> 本身没有隐含 role,但它的语义有效性高度依赖父容器上下文。放在 <article></article> 或 <section></section> 的 <header></header> 内,能明确绑定到该内容单元;放在 <main></main> 深层 div 里,容易被解析为孤立时间字符串。
- 推荐结构:
<article><header><h2>标题</h2> <time datetime="2026-07-01">今天</time></header>...</article> - 避免:
<main><div class="meta"><time datetime="...">...</time></div></main>—— class 名无语义,<div> 阻断结构链 <li> <code><time></time>在<nav></nav>或<aside></aside>中极少合理场景,除非是某条导航项的时效说明(如“限时优惠至<time></time>”),此时需确保其父元素有明确归属
真正容易被忽略的不是“要不要用”,而是 datetime 值是否真实、是否随内容动态更新,以及 <address></address> 是否真的表达了“归属关系”。机器不看文字,只认结构和属性。











