縦ぽん!!

私は基本的にネットで情報発信をする際に間違った書き方をしないように心掛けているつもりだ。特にソースコードやそれに関する説明などを注意して書くようにしているのは仕事柄でもあるが、誤った情報を広めないためでもある。

普段からそういった考えでいるせいか、おかしな書き方をしているようなページを見ると、非常に気になってしまう。明らかに間違っているのはどうしようもないが、微妙に間違っている場合は少々たちが悪い。そういったページがたまたま目についたので、感じたことを書いてみることにした。

ちなみに、気になったページはこちらだ。

【HTML入門】取り消し線をstrike,s,delタグで引いてはダメな理由とは

今回はタイトルの記述を気になったページから拝借し、あえて反論する書き方をさせていただいた。

タイトルから感じる微妙な違和感……

最初の違和感はそのタイトルにある「ダメな理由」という言葉だ。SEOとかを意識した書き方になっていて、いかにも興味を引くようなタイトルになっているが、それぞれのタグがもつ機能を正しく理解しているなら、このような書き方はしないと思う。

例えばこれが「取り消し線をstrikeタグで引いてはダメな理由とは」ならわかる。HTMLのタグは本来装飾のためにあるものではないし、そういった理由でstrikeタグがHTML5で廃止されたからだ。

また「取り消し線をdelタグで引いてはダメな理由とは」の場合はわからなくもない。delタグを使用する用途を理解したうえで、装飾としての取り消し線を引くためにdelタグを使用してはならないという説明があれば筋は通るからだ。

ちなみにsタグは少々事情が異なり、HTML4ならstrikeタグと、HTML5ならdelタグと似たような理由でダメというのはありだろう。これはsタグがバージョンによって機能が異なるからだ。

このように機能が異なる3つのタグなのだが、これらをひっくるめて扱っていることに違和感を感じてしまうのだ。

そもそもHTMLと装飾は分けて考えるべきなので「【HTML入門】取り消し線をHTMLタグで引いてはダメな理由とは」と書いて、それぞれの役割について説明すればよい。あえて個別のタグに触れる必要はないはずだ。

おかしな知識を与えてどうするのか……

このページでは恐ろしいことに「HTMLで取り消し線を付ける方法」について説明している……。残念ながらこのページを書いた方は、HTMLやスタイルシートの本質的なところを正しく理解されてないように思える。

strikeタグが「HTML4とXHTML1では非推奨となり、HTML5では完全に廃止されています。」と自身が明記しながら、その使用方法を解説して、さらに間違っている。strikeタグは「取り消し線を意味している」からといって、取り消し線が見えるのは「ブラウザが勝手にそう見えるようにしている」だけで、意味と外見上の結果はイコールではない。

取り消し線の代わりに赤反転文字で表示するブラウザがあったらどうするのか(ないだろうけど)、視覚障がい者のための読み上げブラウザの場合はどうなるのか、といったところまで理解されているのだろうか。

このように考えると、見え方としての取り消し線については、スタイルシートを使った方法をだけを説明すればよく、HTMLタグで見え方を定義しない方が良いという結論にたどりつくはずなのだ。

意味を考えて正しいマークアップを行う

HTMLと装飾、すなわちスタイルシートは分けて考えるべきということは先にも書いたとおりだが、s, delタグの機能を正しく理解したうえで、これらタグを使用して取り消し線を引くのは決して間違いではないはずだ。

そのためにs, delタグには適切なスタイルが定義されるべきだし、これらタグは「正確でなくなった」ものや「削除されてしまった」ものを表すために使用すべきだろう。

ところで、このページでは以下のような書き方をしている箇所がある。

これまでHTMLで打ち消し線を引く方法を3つ紹介しましたが、非推奨や廃止になっていたり、今後バージョンアップによって要素の定義も変わる可能性もあります。

これは正しいことを伝えている。が、少々勘違いをされているようだ。

HTML(やXHTML)にDOCTYPE宣言があることはちょっと調べればわかることだが、他のバージョンで非推奨や廃止になっていたとしても、この宣言に従っていれば何も問題はない。strikeタグはHTML4.0なら非推奨だがHTML3.2なら非推奨ではない。

そのため、

なので、文字などを装飾したい時は、できるだけCSSを使用しましょう。

CSSはテキストを装飾するということがメインで意味合いを持たないので、なるべくCSSを使うのがおすすめです。

このような結論に導くには理由として適切ではないだろう。HTMLが装飾を施すためのものではないこと、その役割はスタイルシートが担っていることを説明すべきだ。

おかしな情報や知識を増殖させないために

正直な話、このページのような書き方を見るとのけぞる本!で紹介されているおかしな記事を思い出してしまう。

のけぞる本!に書かれているおかしな書物などの情報は約20年前に書かれたものだが、このページで書かれている内容も、約20年前と程度があまり変わらない気がするくらい本質がわかってない

少々悪意を込めて書かせてもらうが、おかしな情報ほど、たちの悪いものはないのだ。

関連する記事