勝手に回答シリーズ第2弾です。

勝手に回答シリーズとは?

今回の疑問

たとえば、
①1+1=3である
②1+1=2でしたごめんなさい

っていうのがあったとき、①に取り消し線を入れることがよくあると思います。
HTMLだと<S>タグ等を使うんでしょうが、これが非推奨のため、CSSで書け、ってことになりますよね。

CSSで取り消し線はすぐにも入れられ、見た目上は取り消しができているように思えます。ただ、データとしての意味合いはどうなのかなって感じてます。CSSで取り消し線を入れた=この文章は訂正されている、という意味がそこにあり、評価されているのかなっていうのがちょっと疑問です。

僕なりの回答

sタグやstrikeタグは確かにHTML4.01では非推奨タグでしたので、打ち消し線を表示するのであれば書かれている通りCSSで装飾することになります。

しかしながら、そうなると「取り消し」という意味のマークアップがされなくなるので、そのような意味付けはなくなってしまいます

これをHTML4.01で解決するとすれば、代わりにinsタグとdelタグが存在するので、そちらを用いるのが適切だと思われます。

また、HTML5になった際に、sタグは再定義され、「適切・正確ではなくなったものを示す役割」となり非推奨ではなくなりましたのでsタグを用いることも可能です。

ただし、文書の修正を表す場合はinsタグとdelタグを用いる方がよいとのことなので、どちらを用いるかは文脈次第ということになりそうですね。

うーん。del要素は文書から「削除された」という意味で、s要素は「適切・正確ではなくなった」という意味であるとすれば、「間違いに気が付いて訂正した」はどちらになるのだろう?

おそらく、「間違っていたので文書から削除(del)して、正しい情報を書き加えた(ins)」というマークアップが適切なのかなと思いました。

HTML5でセマンティクスが再定義された要素の例

  • s ⇒ 「打ち消し線」から「適切・正確ではなくなったもの」
  • b ⇒ 「太字」から「注意・注目付け」
  • i ⇒ 「イタリック体」から「特殊な意味のテキストやフレーズ」
  • strong ⇒ 「強い強調」から「重要性・緊急性が高いテキスト」
  • small ⇒ 「テキストを小さく」から「注釈など」
  • hr ⇒ 「水平線を引く」から「意味的な区切りを表す」

特にbタグ、emタグ、strongタグを用いる時は要注意かなと思います。