**`<s>`** communicates that content is **no longer accurate or relevant** — a classic example is a crossed-out old price next to a new sale price. It's visually identical to `<del>` (both show a strikethrough line) but semantically different: `<del>` specifically represents an edit — content that was removed from a document, often paired with `<ins>` to show what replaced it. `<s>` doesn't imply any editing history, just that the content is now outdated.
1Understanding <s>
`<s>` communicates that content is no longer accurate or relevant — a classic example is a crossed-out old price next to a new sale price. It's visually identical to <del> (both show a strikethrough line) but semantically different: <del> specifically represents an edit — content that was removed from a document, often paired with <ins> to show what replaced it. <s> doesn't imply any editing history, just that the content is now outdated.
For a document revision/changelog (showing what text was added or removed), use <ins>/<del>. For an outdated price, a completed task, or content no longer true, use <s>.
<p><s>Meeting at 3 PM</s> — moved to 4 PM.</p>2Practical Example
Here is a real-world application of <s> showing how it is used in production HTML.
<!-- A completed checklist item -->
<ul>
<li><s>Buy groceries</s></li>
<li>Cook dinner</li>
</ul>3Best Practices
Follow these guidelines when working with <s>:
1. Use <s> for outdated prices, completed to-do items, or facts that are no longer true
2. Use <del>/<ins> instead when specifically documenting an edit to content
3. Don't rely on <s> alone for meaning — pair it with visible context (e.g. the new price) since strikethrough alone can be missed
Tip: For a document revision/changelog (showing what text was added or removed), use <ins>/<del>. For an outdated price, a completed task, or content no longer true, use <s>.
<p><s>Meeting at 3 PM</s> — moved to 4 PM.</p>