和是语义化编辑标记,必须成对使用、带合法iso 8601格式datetime(如2026-05-18t23:30:00z)及有效cite链接,不可用于纯样式或嵌套滥用。

直接用 <del></del> 和 <ins></ins> 标记变更,不是加个删除线就完事——它们是语义标签,必须带时间戳、成对出现、不破坏结构,否则屏幕阅读器读不出“删了”,搜索引擎也当没这回事。
datetime 属性必须写对,否则等于没写
浏览器和读屏软件只认合法的 ISO 8601 时间字符串,填错格式就丢掉整个时间信息:
-
datetime="2026-05-18T23:30:00Z"✅(UTC 时间,推荐) -
datetime="2026-05-18T23:30:00+08:00"✅(带本地时区偏移) -
datetime="2026-05-18"❌(无时间,读屏软件通常忽略) -
datetime="2026/05/18"❌(斜杠分隔,非标准,被解析为无效) -
datetime="2026-05-18 23:30"❌(缺 T 和秒,部分辅助技术拒识)
建议由后端或构建脚本注入,避免前端 new Date().toISOString() 因时区或执行时机导致偏差。
cite 属性不是摆设,得指向可验证依据
cite 的作用是解释“为什么删/为什么加”,不是放作者名或随便一个链接:
-
cite="https://example.com/changelog#v3.2"✅(指向版本日志锚点) -
cite="https://github.com/org/repo/pull/456"✅(PR 合并记录,真实可访问) -
cite="会议纪要-20260515"❌(无协议头,不是 URL,读屏软件无法跳转) -
cite=""或cite="null"❌(空值或伪值,语义失效) -
cite="https://example.com/404"❌(链接不可达,等同于没提供依据)
如果多个修订共用同一依据(比如一次合规审查),可以复用同一个 cite,但每个 datetime 必须独立准确。
别把 <del></del> 和 <ins></ins> 当样式工具乱套
它们不是 <s></s> 或 <u></u> 的替代品,语义不可混用:
- 价格划掉再标折扣?该用
<span class="price-old"></span>+ CSS,不是<del></del>—— 那只是视觉提示,不是内容删除 - 想强调重点?用
<strong></strong>或<mark></mark>,<ins></ins>表示“这段文字是后来补上的” - 在
<pre class="brush:php;toolbar:false;"></pre>里直接塞<del></del>?可能破坏换行和缩进,应先提取文本做 diff,再安全包裹 - 嵌套
<del><ins>新文本</ins></del>?语义矛盾(既删又插),应改为单独<ins datetime="...">新文本</ins>并保留原文上下文
真正难的从来不是怎么写标签,而是判断:这次改动是否构成一次值得追溯的编辑行为?填错时间、挂死链接、滥用语义,比漏写闭合标签更伤协作可信度。










