Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第20章 b タグはなぜ生き残ったのか

b を「見た目だけの古い要素」と切り捨てるのではなく、なぜ削除ではなく再定義という道が選ばれたのかを見ます。

20.1 b は「太字にするタグ」だけでは終わらなかった

かつて b は、ほとんど見た目のための要素として使われました。その文脈だけを見ると、CSS で太字を指定できる現在では、役目を終えたように見えます。

しかし HTML は、古い要素を何でも単純に消すわけではありません。互換性の問題もあるし、実際の文章の中には「強い重要性ではないが、周囲から視覚的に区別したい」テキストが残ります。そこで b は、単なる太字指定ではなく、実用的な都合で読み手の注意を向けたいテキストを、周囲からスタイル上ずらして示すための要素として再定義されました。

ここで重要なのは、b が「見た目のための古い要素」から「重要性ではなく区別を担う要素」へ置き直されたことです。削除ではなく、役割の調整が選ばれたわけです。

20.2 strong と b は似て見えて同じではない

この違いは、strong と並べると見えやすくなります。

<p><strong>重要:</strong> 申込期限は明日です。</p>
<p>比較した製品は <b>ノート A</b> と <b>ノート B</b> です。</p>
<p>締切は <em>明日</em>です。来週ではありません。</p>

strong は重要性・重大性・緊急性を表します。em は発話の強勢を表し、この例では「明日」に力点があります。b は重要性を追加せず、実用的な目的で注意を向ける語句を示します。製品比較に出てくる製品名などが例です。単に太くしたいという装飾上の都合だけなら CSS を使います。

この差を無視すると、「太字なら全部 strong」「見た目なら全部 CSS」で二分したくなります。しかし現実の文章には、そのどちらにもきれいに収まらない区別があります。b が残ったのは、その隙間を埋める必要があったからです。

20.3 HTML は古い要素を再定義して残すことがある

ここで見えてくるのは、HTML が古い要素を扱うときの流儀です。第13章では、廃止された要素たちが需要の痕跡を残したことを見ました。一方 b では、完全に消すより、現代の文脈に合わせて意味を調整して残す道が選ばれました。

これは後方互換性だけの問題ではありません。もし b を単に obsolete にして、「以後は使うな」で済ませていたら、現実に存在する弱い視覚的区別のニーズを、全部 CSS や別の要素へ押し込むことになります。そこには、それはそれで別の不自然さが出ます。

つまり b の生存は、古いものへの未練というより、「現実の文章で必要な区別を、どの要素が引き受けるか」という再配置です。HTML がしているのは、過去の遺物をただ温存することではなく、役割の棚卸しでもあります。

20.4 実務では「重要なのか、区別したいだけなのか」を問う

実務で b と strong を迷ったときは、見た目ではなく、何を伝えたいかで切るほうがよい。重要性や警告の重みを伝えたいなら strong。重要性や強勢を加えず、実用的な目的で注意を向けたい語句なら b。意味を持たせず見た目だけ変えたいなら CSS も選択肢に入ります。

この切り分けを入れると、b が CSS に完全に置き換わるわけではないことも見えてきます。CSS は見た目を変えますが、その語句を「周囲から少し区別したい」という文章上の意図までは表しません。逆に、その意図すらないなら、b を使わず CSS だけで済ませたほうが素直です。

この章の要点は、「b は古いから使うな」という標語の逆です。b が生き残ったのは、単なる慣性ではなく、HTML が古い要素を再定義しながら現代の役割へ置き直すことがあるからです。そう読むと、b は仕様の中で何となく生き残ったのではなく、調整された居場所を与えられたと分かります。次の第6部では、こうした居場所の調整を誰がどのように決めてきたのかを見ます。

参考資料