Jintrick.netagenda2002年05月アーカイブ → 2002年05月22日

画像のwidthとheight

多くの人やリファレンスが HTML の img tag には height と width 属性を書きましょう、書いたほうが好ましいです、と言っている。が、敢えて積極的に書くべきではないと言いたい、と言うか言う。

img tag に height、width 属性は書くべきではない。 より

この文書に対する反論。まず結論から先に。

「IMG要素にwidth、height属性を書いても、何ら問題はない」

HTMLはUser Agentへの命令ではない。以下、これを前提として述べてゆきます。

「タグ」は命令ではないし、width属性、height属性もやはり命令ではない。何かを指示することは一切ない。そのとおり表示しなければならないのではなく、そういう情報がIMG要素に付加されているだけなので、「一部のUser AgentがHTMLの記述をこのように整形するから駄目だ」という主張は、HTMLには関係がない。

幅と高さの情報が画像に付加されていて、何の問題があるだろうか。画像は、他の要素と違って、もともとの高さと幅がある。例えばIMG要素をテキストリンクに整形するブラウザがあったとして、そのテキストに幅と高さの情報が書かれていれば、何らかの参考になるはずである(例:Googleのイメージ検索)。もしこれらの属性が純然たるプレゼンテーション要素だったなら、属性値をテキストに変換しても何の役にも立たなかった筈。だから、非推奨ではないのだと考えている。

ただ、IMG要素のwidth、height属性は、natural width、natural heightではなく、制作者の推奨する幅と高さなので、この点が気持ち悪い。つまりプレゼンテーション的な意味も確かにあるし、その意味で使用する者もいる(例:spacer.gif等)ということ。しかし、後方互換性を考えれば、width、height属性を非推奨にして新たにnaturalwidth、naturalheight属性(オブジェクト本来の幅、高さを表す属性)を設けるよりはそのままにしておいた方が良いのは明らか。

ではwidth、heightは「書くべき」か。

文章を読んでいたら突如、関係ない場所に勝手にスクロールして何処を読んでいたのか分からなくなる……。widthとheightを指定していないと、こういうことが起こり得る。ドキュメントが縦長に、画像のサイズが大きくなるほど危険は高まる。

alt属性値の視認性がwidthとheightに邪魔される件については重要性が乏しいと考える:

固有の問題とはいえトレードオフなので「書くべき」とまでは言えない。グラフィカルブラウザで画像OFFのユーザーが主な対象なら、十分検討する価値がある。もっとも私なら、そういうユーザーがが主な対象ならIMG要素なんか一切使わないだろうが。


webmaster@jintrick.net
公開: 2002年05月22日
カテゴリ: HTML