deadhead
element/strike

strike element

strike is obsolete: it draws a line through text but tells assistive technology nothing; use del for a removal or s for text that is no longer accurate.

  • Avoid
  • Deprecated
Severity
DeprecatedFormally obsolete, but inert.
Basis
Obsoleted by the specA standard defined it, then removed it.
Detectable
YesMatched exactly. Autofixable when the rule carries a fix.
Matches
strikeElement rule, inside <body>.
Fix
None — reports only
Impacts
Accessibility and Maintainability
Related
element/font, element/center

<strike> draws a line through its text. It is presentational markup from before CSS, and it still turns up for crossed-out prices, corrected dates and “done” items in old pages and pasted rich text.

Why avoid

It is obsolete, and the HTML Standard names the replacement: “Use del instead if the element is marking an edit, otherwise use s instead.”

The look was never the problem. The spec’s user-agent stylesheet treats all three elements the same: del, s, strike { text-decoration: line-through; }. The difference is meaning. The s element “represents contents that are no longer accurate or no longer relevant”, and del “represents a removal from the document”. strike means neither. The DOM section maps it to plain HTMLElement, with no semantics of its own.

That difference reaches people who can’t see the line. The HTML Accessibility API Mappings map both del and s to the WAI-ARIA deletion role, so browsers can tell assistive technology that the text is struck. There is no mapping for strike at all. It is exposed as ordinary text, and nothing tells assistive technology that the old price or the cancelled date is struck out.

Use instead

Pick by meaning. Use s for something that is no longer accurate or relevant:

<p>Price: <s>CHF 49</s> CHF 29</p>

Use del for text removed from the document, optionally with ins for what replaced it and datetime for when:

<p>Meeting on <del datetime="2026-09-14">Tuesday</del> <ins>Thursday</ins>.</p>

The spec is explicit that s “is not appropriate when indicating document edits”. If the line is purely decorative and means nothing, use CSS text-decoration: line-through on a <span>.

Detectability

Fully detectable by tag name. There is no autofix: fixes can only remove markup, not rename it, and choosing between del and s depends on what the text means.

Resources

This page is generated from content/rules/element/strike.md, the same file the linter is built from. Think the rule is wrong, or that browsers moved on? Say so — that is the most useful issue you can file.