标签需手动添加符合iso 8601格式的datetime属性(如"2024-05-20t14:30:00+08:00")才能记录增补时间,自然语言或错误格式会导致属性无效;配合css ::after和attr(datetime)可显示时间,须与成对使用并分别标注真实修订时间。

ins 标签本身不记录时间,必须手动添加 datetime 属性
<ins></ins> 是语义化标签,只表示“此处插入了内容”,浏览器不会自动填入时间。要记录增补时间,必须显式设置 datetime 属性,且值需符合 ISO 8601 格式(如 "2024-05-20T14:30:00Z" 或 "2024-05-20")。常见错误是写成自然语言(如 datetime="2024年5月20日"),这会导致属性无效,辅助技术或 CSS 伪元素无法正确读取。
实操建议:
- 用 JavaScript 动态生成时,优先调用
new Date().toISOString(),它直接返回合规的 UTC 时间字符串 - 若手写,避免空格和中文字符;日期部分必须为
YYYY-MM-DD,时间部分可选,但含时间时必须用T分隔、用Z表示 UTC,或带时区偏移(如+08:00) - 不要依赖
ins的视觉样式来传达时间——默认只有下划线,需配合 CSS 或额外文案说明
用 :after 伪元素自动显示 datetime 值
仅靠 datetime 属性不会在页面上显示时间,需用 CSS 触发 ::after 渲染。主流浏览器支持通过 attr(datetime) 提取该属性值。
实操建议:
- 给
<ins></ins>加 class(如class="ins-with-time"),避免全局污染:<ins class="ins-with-time" datetime="2024-05-20T14:30:00+08:00">新增条款</ins>
- CSS 中写:
.ins-with-time::after { content: "(" attr(datetime) ")"; font-size: 0.85em; color: #666; } - 注意:
attr()只读取属性原始字符串,不格式化;若需“2024年5月”这类中文格式,必须服务端或 JS 处理后写入data-display-time等自定义属性
与 del 标签配合使用,体现修订全貌
单独用 <ins></ins> 只能标记“加了什么”,无法体现“删了什么”。实际文档修订常需成对出现:<del></del> 标记删除内容,<ins></ins> 标记替代内容,二者共用 datetime 可对齐操作时间点。
实操建议:
- 同一处修改,
<del></del>和<ins></ins>应包裹在相同父容器内(如<p></p>或<span></span>),便于样式控制和语义连贯 - 避免嵌套使用(如
<ins><del>...</del></ins>),这会混淆语义,屏幕阅读器可能误读 - 若修订跨多段落,不要强行用一个
datetime覆盖全部——不同段落修改时间很可能不同,应分别标注
无障碍与 SEO 注意事项
搜索引擎和读屏软件会识别 <ins></ins> 的语义和 datetime 属性,但前提是结构干净、属性合法。无效的 datetime 值会被忽略,等于没写。
实操建议:
- 用 W3C HTML 验证器(validator.w3.org)检查
datetime是否被识别为有效属性值 - 测试读屏软件(如 NVDA + Firefox)是否朗读出
datetime内容——默认不一定读,需确认是否启用了“朗读属性值”选项 - 不要为了 SEO 堆砌
datetime;只有真实修订才添加,伪造时间可能触发质量评估降权
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











