是唯一语义化标记新增文本的html元素,必须配对使用、datetime用iso 8601格式(如2026-04-20t13:47:00+08:00),不可仅靠css下划线替代,需兼顾无障碍与机器可读性。

<ins></ins> 标签是唯一专为语义化标记「新增文本」设计的 HTML 元素,不是装饰用的下划线工具,也不该被 <span></span> + CSS 替代——它承载的是可被机器(如搜索引擎、屏幕阅读器、文档比对工具)识别的修改意图。
ins 标签的 datetime 属性必须用 ISO 8601 格式
浏览器不校验 datetime 值,但无效格式会让语义失效。常见错误包括:
- 写成
datetime="2026-4-20 13:47"(缺前导零,非标准) - 漏掉时区,比如只写
"2026-04-20T13:47"(缺少Z或+08:00) - 用中文日期如
"2026年4月20日"(完全无效)
正确写法只有:datetime="2026-04-20T13:47:00+08:00" 或 datetime="2026-04-20T05:47:00Z"。时间戳建议由后端生成或用 new Date().toISOString() 获取,避免手输出错。
ins 和 del 必须配对使用才体现修订逻辑
单独用 <ins></ins> 只是“加了东西”,但无法表达“替换了什么”。真实修订场景中,用户需要知道上下文变更:
- 错误用法:
<p>价格从 99 元调整为 <ins>89 元</ins></p>(没说明原价是否被删) - 正确用法:
<p>价格从 <del>99 元</del> 调整为 <ins>89 元</ins></p> - 若原内容未被删除(比如追加说明),则只用
<ins></ins>即可,无需硬凑<del></del>
辅助技术会把 <ins></ins> 和 <del></del> 当作一组变更事件处理,拆开或遗漏会影响无障碍体验。
默认下划线样式不够醒目,但改样式不能破坏语义
浏览器默认给 <ins></ins> 加 text-decoration: underline,但细线+浅色在多数页面里几乎不可见。可通过 CSS 增强,但注意三点:
- 别用
border-bottom替代text-decoration,否则可能切断连字或影响行高 - 避免仅靠颜色区分(如只变绿色),需叠加样式(如下划线+背景色)满足 WCAG 对比度要求
- 不要用
display: block或float把<ins></ins>变成块级——它本就是行内元素,强行改变会破坏流式布局和屏幕阅读器朗读顺序
推荐微调方式:
ins { text-decoration: wavy underline; text-decoration-color: #2a75ff; background-color: #f0f8ff; }
真正难的是让团队所有人理解:这不是“加个下划线”的事,而是把一次内容更新变成可追溯、可验证、可被程序消费的数据点。cite 和 datetime 看似可选,但一旦缺失,<ins></ins> 就退化成了普通强调标签。










