最終更新日時 : 2003/10/20 (Mon) 00:00:00

構造と書式の混同

本ページ内における各種表記は 2003 年 9 月 16 日現在のものです。

h1 要素で文字サイズ変更 ???

大学で情報の授業を受けていた時の事である。 授業に先立って配布されたプリントに目を通して、私は驚いた。

・サイズ <h1></h1>, <h2></h2>, … , <h6></h6>

私は自分では決して W3C 信者ではないと思っている (過去には table でページレイアウトをしていた経験もある)。 よって 「HTML でサイズを指定するのは邪道だ、スタイルシートを使え」 などと言うつもりは毛頭無い。 しかし、だからといって h1h6 要素を用いて文字サイズを変更するというのはあまりにもマズイ。

文書構造が表す意味

h1h6 要素の "h" は heading の頭文字である。つまり見出しなのである。 文書構造としての見出しの中に本来本文であるべき内容を書き込めば当然文書としての構造が崩れてしまう。 見出しだけを抽出してページの概要を示すユーザエージェントがあるが、この機能は役に立たなくなる。

また、h1h6 要素に文字サイズを変える役割を常に期待できるわけではない。 たまたま一部の視覚系ユーザエージェントでそのような実装がなされているだけである。 視覚系ユーザエージェントの種類によっては h1 要素をセンタリング表示するかもしれないし、 下線を引くかもしれないし、あるいは文字色を変えるかもしれない。 聴覚系ユーザエージェント (視覚障害者向けのブラウザなど) では読み方や音量に変化をつけるかもしれない。 これは期待されている動作とは明らかに異なる。

こんな感じや
こんな感じや
こんな感じ

せめて font 要素を使えば 「私は文字サイズを変えようとしている」 ということを明確に示すことが出来る。 HTML 4.01 Transitional ならば font 要素は非推奨ながらも使用可能であり、咎めるつもりは無い。 視覚系ユーザエージェントでも文字サイズを変更できない環境や、聴覚系ユーザエージェントならばこの要素を無視することが出来よう。

別にスタイルシートがどうだこうだと言う気は無い。しかしこれだけは言わせてもらいたい。

文書構造を表す要素を用いて書式を制御するのだけは止めてくれ

視覚系ユーザエージェントで見る分には大差ないかもしれないが、基本的なことだと思う。

おまけ

ところで、この教官は次のようなこともプリントに載せている。

・色 <font color="red"></font>

どうやら、大き目の赤い文字 を表現する際に <h2><font color="red">大き目の赤い文字</font></h2> とか書いてしまう人のようだ。唖然…。

この授業の後にウェブサイトを作成する課題が出されたが、h1h6 要素をサイズ変更に用いた似非 HTML を記述している学生が決して少なくなかったことを補足しておく。