bタグは使うべきではないという意見を見ることは良くある。しかし、なぜそうなのかについてまで言及した説明を添えてある記事は、比較的少ないような気がするので、分かりやすく具体例を出しながら説明する。
タイトルについて
実は、タイトルも間違っている。理解して欲しいのは、strongはbの代用ではないということ。bタグを推奨しないページでたまに見る、「bではなくstrongを使用します」という表現は、明らかに誤解を招く。
SEO
検索エンジンのロボットは、HTMLを読んで、その内容の重要度を決定する。御幣はあるかもしれないが、要はそういうこと。その評価される中で、タグが重要な意味を示す。例えば、bは太字を表す。一方、ブラウザで全く同じような表示がされるstrongも、太字で表される。
このように、bとstrongは見た目上、全く違いがない。ところが、それぞれのタグが表す意味は全く異なる。bはそこが太字であることを表し、strongはそこが重要であることを表す。
SEOにおいては、タグが表す意味が重要となってくる。タグによって囲まれた部分の文章が、どのようなことを現すのかがタグによって理解できることは、非常に有利なのである。
まとめ
具体例で考える
以上ではbタグとstrongタグを例に出してみたが、それとは別のタグを挙げてみる。
<h1>h1タグだからここはタイトルだということが分かる</h1> <font size="+3"><b>文字が大きくて太いから、もしかしたらタイトルかも……?</b></font>
<s>取り消した文字</s> <strike>取り消した文字</strike> <del>後に間違いに気付いて、消された文字</del>
strikeとsは、単なる取り消し線を表示するための見た目を表すに過ぎないタグであるが、delは、間違いなどに気付いて後で書き直した部分なんだということがタグの意味的に分かる。
非推奨なタグとそうでないタグを見分ける方法
それは簡単だ。意味を表しているタグか、見た目を表現するためのタグかを考えればよい。
極端な例
極端な例では、brも改行という表示を表すタグと捉えることができるため、あまり使うべきではないだろう。いやいや、どう考えても必要だろと思うかもしれないが、段落(pタグ)というものがある。模範的な文章を見る限り、段落途中で不意に改行されている例を見つけることはできない。そういう意味では、必要ないと考えることもできる。
オチは相当な改行をもって明かしたい、という場面では、確かに困りそうだ。
余談として、WordPressでは連続したbrタグは取り除かれる。これは、上記した理由によるものだと考えられる。私は別に不便だと思ったことはないが、この仕様を不便だと思う人も多いようだ。
結局
結局、仕様上でタグが廃止されたとしても、ブラウザはそれをそのまま実装するかといえば、そうではないだろう。まだ世界中に時代遅れのタグを使ったウェブページがある以上、それらのサポートをやめるというのは、あまりにリスクが大きすぎるものである。つまり、当分の間は、これらのタグも健在であろう。
ピンバック: CSSのクラス名などは意味を表すものであるべき | jikkenjo.net