勝手に回答シリーズ第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タグを用いる時は要注意かなと思います。