多くの人やリファレンスが 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要素なんか一切使わないだろうが。