input要素のsizeコンテンツ属性について

羽田野です。

input要素のsizeコンテンツ属性について、日本語に特化した悩ましい問題が
あります。

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-size-attribute

HTML5では、input要素のsizeコンテンツ属性は、コントロールに表示できる
文字の数を指定するものであり、UAは、その文字数分を見ることができるサ
イズで、そのコントロールをレンダリングすることしています。
これは、ただ単に、旧来から使われてきたsizeコンテンツ属性を説明したも
のに過ぎませんので、これ自体に問題はありません。

ただ、日本語では全角文字と半角文字があり、それぞれで文字の幅が大きく
異なります。実際に、どちらの文字幅を基準にコントロールのサイズを決め
るかについては、ブラウザーによって異なります。

CSSでフォントを指定しなかった場合:
 ・IE8:全角を基準にしている
 ・FF3.6:半角を基準にしている
 ・Safari 4:半角を基準にしている
 ・Chrome 4:全角を基準にしている
 ・Opera 10:半角を基準にしている

CSSでフォントにを"メイリオ"指定した場合
 ・IE8:全角を基準にしている
 ・FF3.6:全角を基準にしている
 ・Safari 4:半角を基準にしている
 ・Chrome 4:全角を基準にしている
 ・Opera 10:全角を基準にしている

CSSでフォントにを"MS P明朝"指定した場合
 ・IE8:全角を基準にしている
 ・FF3.6:半角を基準にしている
 ・Safari 4:半角を基準にしている
 ・Chrome 4:半角を基準にしている
 ・Opera 10:半角を基準にしている

このように、ブラウザーごとに基準が異なるだけでなく、同じブラウザーで
も、CSSでフォントを指定しているかどうか、また、どのフォントを指定して
いるのかによって、基準が変わってきます。

私個人的には、近年、sizeコンテンツ属性を使うことはなくなりましたので、
このような問題に悩んだことはなく、極端な話、なくても困らないのですが、
みなさんは、どうでしょう。
sizeコンテンツ属性が重要な役割を果たすケースが有り、この扱いをHTML5仕
様として明確に規定すべきというご意見があれば、検討する余地があると思
いました。

--
Futomi Hatano
http://www.html5.jp/
http://www.futomi.com/
http://twitter.com/futomi

Received on Monday, 7 December 2009 08:44:49 UTC