S标签语义限定为标记曾准确但现已失效的内容,如过期价格或废止条款;不适用于主观质疑、待核实信息或纯视觉删除,推荐与del/ins配合使用以明确变更。

S 标签在 HTML5 中仍被保留,但其语义已明确限定为“表示某段文本原本是准确的,但现已被更正、废弃或不再正确”,而非泛指“不准确”或“待审核”的内容。它强调的是状态变化:从过去有效变为当前无效。
核心语义:标记已失效的内容
HTML5 规范指出,S 用于标记那些曾经正确但现已过时、错误或被撤回的信息。例如价格调整前的旧标价、已废止的条款、被修正的技术参数等。它不是用来标注主观质疑、待验证信息或单纯风格删除(如编辑草稿划掉)。
与 del 和 ins 的配合使用更规范
单独用 S 仅表示“已失效”,不说明为何失效或替换成什么。实践中推荐组合使用:
- 用 del 明确标记被删除的内容(含 datetime 属性记录时间)
- 用 ins 紧跟其后,标明替代内容和更新时间
- S 可作为简化替代,适用于无需详细追踪变更场景(如静态文档中的过期公告)
不适用的常见误用场景
以下情况不应使用 S:
立即学习“前端免费学习笔记(深入)”;
- 用户评论中主观认为“不准确”的观点(应由内容逻辑处理,非 HTML 语义)
- 尚未确认真伪的传言或待核实数据(可用 aside 或自定义属性辅助说明)
- 纯视觉删除效果(如装饰性划线),此时应优先用 CSS text-decoration: line-through
- 法律条文修订中的“删除+新增”全过程(必须用 del/ins 保证可追溯性)
浏览器与无障碍支持现状
主流浏览器均渲染 S 为带删除线样式,但屏幕阅读器通常不主动播报其语义。若需确保信息传达,建议:
- 在 S 内部或旁侧添加简短说明,如
<s>¥199</s>(已下架) - 对关键过期信息,补充 time 元素注明失效时间:
<s>支持 IE11</s> <time datetime="2024-01-01">自2024年起停止支持</time>


















