<strike>
is a legacy inline element used to draw a strikethrough line across text. It was once widely employed to indicate errors or to show a pre-discount price—visually signaling that the content had been “crossed out.” However, it was deprecated starting with HTML 4.01 and is not included in the HTML 5 specification. Today, it is recommended to use more semantically appropriate options: <del>
for deleted portions, <s>
for content that is no longer accurate, or the CSS text-decoration
property.
<strike>
は 「取り消し線(strikethrough)」 を引くための旧来のインライン要素です。かつては「誤りを示す」「値下げ前価格を示す」など視覚的に “消した” ことを表す目的で広く使われましたが、HTML 4.01 以降は非推奨(deprecated) とされ、HTML 5 の仕様には含まれていません。現在は意味を明確に示す <del>
(削除箇所)、<s>
(もはや正しくない内容)、あるいは CSS の text-decoration
を使用するのが推奨されています。
時期 | 仕様 | 状態 | ポイント |
---|---|---|---|
1993 年 HTML 2.0 草稿 |
初登場 | 現役 | プレゼンテーション目的のタグが多数 |
1999 年 HTML 4.01 |
非推奨 | レガシー扱い | 表示専用タグを分離、意味論重視へ |
2014 年 HTML 5 勧告 |
仕様から削除 | 事実上廃止 | 役割に応じて <del> / <s> を使う |
意味論(セマンティクス) が重視される現代 HTML では「ただ線を引く」だけの要素は望ましくない。
テキストが「取り消された理由」を明示するタグ・属性の方が機械判読性・アクセシビリティに優れる。
HTML
<!-- レガシー例 – 推奨されない -->
<p>通常価格 <strike>3,000円</strike> → 特価 2,400円!</p>
<strike>
と終了タグ </strike>
で囲む<span>
などのインライン要素)を置けるHTML
<p>定期購読は <del datetime="2024-12-31">月額 1,200円</del>
<ins datetime="2025-01-01">月額 980円</ins> になりました。</p>
定期購読は 月額 1,200円
月額 980円 になりました。
datetime
属性で変更日を記載すると履歴管理に有用。
スクリーンリーダーが “削除済み” と読み上げる実装もある。
HTML
<p>かつての社名は <s>Fooソリューションズ</s> でした。</p>
かつての社名は Fooソリューションズ でした。
書籍の絶版情報や社名変更、期限切れクーポンなどに適切。
HTML
<span class="strike">¥3,000</span>
CSS
.strike {
text-decoration: line-through;
}
プレゼンテーションだけを担わせるシンプルな選択肢。
コンポーネントが「価格」「期限」など多目的に再利用できる。
ダークモード切替・テーマ変更が容易。
手法 | スクリーンリーダー挙動 | SEO への影響 | コツ |
---|---|---|---|
<strike> |
意味不明 → 「ダ、ダッシュ??」 と読み上げるケース | 意味付けゼロ | 使用回避 |
<s> |
“無効化されたコンテンツ” と認識 | 低いが許容範囲 | context を明確に |
<del> + <ins> |
変更履歴を正確に伝える | 変更日時がクローラ解析に有益 | datetime 属性推奨 |
CSS line-through |
無視されやすい | 影響なし(視覚専用) | WAI-ARIA で補強可 |
ブラウザ | <strike> | <s> | <del> | text-decoration |
---|---|---|---|---|
Chrome 1+ | 描画可能 | ○ | ○ | ○ |
Firefox 1+ | 描画可能 | ○ | ○ | ○ |
Safari 1+ | 描画可能 | ○ | ○ | ○ |
IE 4–11 | 描画可能 | ○ | ○ | ○ |
Edge (Chromium) | 描画可能 | ○ | ○ | ○ |
後方互換として描画「は」され続けるが、HTML バリデータはエラーを出す。
今後も突然レンダリングが消える可能性は低いが、新規実装には推奨されない。
<strike>
と <s>
は同じ” と誤解<s>
は「すでに間違っている情報」を示す意味的要素。line-through
を指定しただけで意味が伝わると思う<s>
で実装<del>
/ <ins>
がベター。<strike>
を新規コードに使っていないか?<del>
/ <ins>
を使用したか?text-decoration
にまとめたか?aria-label
など) を補完したか?<strike>
はレガシー。学ぶ意義は「過去コードを読む/移行する」ケースのみ<del>
, <s>
, CSS を正しく選択することが現代 HTML の流儀