Re: width/height IDL属性の型について

こんにちは、神崎です。

詳しく調べている時間がないのですが、HTML5 IDLの定義は、既存要素型に関しては基本的にはDOM 2
HTMLのIDLを引き継いでいて、DOM
HTMLでの属性定義は、HTML4のDTDでの定義に基づいているはずです。で、HTML4でのこれらwidth属性値はLength、すなわちピクセル数もしくはパーセントが使えるものでした。パーセントがあるので、単純にNUMBERとするわけにはいかず、DOM
1 HTMLでは結果的に(HTMLImageElementも含めて)DOMStringとして定義されます。

しかし、img要素のwidth/heightなどについては、DOM
2策定時の議論で、DOMStringでは問題ありとして、longに変更されました(他の要素型についてそのままだった理由は、今、ちょっとよく分かりません)。

これらの属性がreadonlyなら、文書でパーセント指定した属性値でも、計算結果としてCSSピクセルを返すということで全部longでよさそうです。しかし、プログラムから値の変更ができ、その値にパーセントも許すとなると、DOMStringが必要になりそうです。

とはいえ、HTML5でのwidth属性値は、4.8.16 Dimension
attributesあたりを読むと、パーセント指定は許されないんでしょうか。4.8.16がwidth属性の定義だとすれば、IDLをlongにするほうが整合性が取れるんでしょうね。

ちなみに、object要素にパーセント値を指定したらどうなるの、という話が[1]で提起されていましたが、あまり盛り上がらなかったようです。

[1] http://lists.w3.org/Archives/Public/public-html/2009Oct/0465.html

-- 
@prefix : <http://www.kanzaki.com/ns/sig#> . <> :from [:name
"KANZAKI Masahide"; :nick "masaka"; :email "mkanzaki@gmail.com"].

Received on Friday, 9 April 2010 08:48:29 UTC