-webkit-な機能を一部サポートしたOpera Mobile Emulatorの実験ビルドが公開

WebKit Contributor Meetingの後編書いてたら、Opera Mobile Emulatorの実験ビルドが公開された。このビルドでは試験的に、一部の-webkit-CSSの機能をエイリアスとしてサポートしている。

エイリアスの仕方は、前回のF2Fで決定したものに沿っている。ざっくりとしたルールはこちら。

  • エイリアスは接頭辞の有無に関係なく利用できる。
  • ブラウザがひとつのプロパティに対し複数の構文をサポートするとき、それらは継承においてエイリアスとして扱われる。最後にきたものが適用される。
  • OMにおいては、どの構文が指定されたか、そして適用されたかにかかわらず、すべてのエイリアスが現れる。
  • このエイリアスCSS WGが承認したプロパティに対し適用される。また、接頭辞つきの構文をエイリアスとしてブラウザが扱うこともできる。
  • 値に対してエイリアスがサポートされた時、OMが返すものは製作者が指定したものになる。
  • メディアクエリーの特性においても、製作者が指定したものを返す。

Opera Mobile Emulatorがエイリアスとしてサポートしているプロパティは次。

-o--webkit-
box-shadow -webkit-box-shadow
-o-transform -webkit-transform
-o-transform-origin -webkit-transform-origin
border-radius -webkit-border-radius
border-top-left-radius -webkit-border-top-left-radius
border-top-right-radius -webkit-border-top-right-radius
border-bottom-left-radius -webkit-border-bottom-left-radius
border-bottom-right-radius -webkit-border-bottom-right-radius
-o-transition -webkit-transition
-o-transition-delay -webkit-transition-delay
-o-transition-duration -webkit-transition-duration
-o-transition-property -webkit-transition-property
-o-transition-timing-function -webkit-transition-timing-function

プロパティの数は最小限にしているね。Animationsがないけれど、これはOpera 12以降になるからだろう。

値については、-webkit-linear-gradient-o-linear-gradientエイリアスとして扱われている。radial-gradientはそこまで使われていないんだろうか。それともまだOperaがサポートしていないだけかな。

CSSOMについても、webkitTransitionEndoTransitionEndにマップされていると。ただし両方のリスナが登録されている場合、fireされるのはoTransitionEventのみらしい。

エイリアスなので、「今後は-webkit-のみをサポートする」なんてことではない。-webkit-fooという名前で標準になったら、話は変わってくるかもしれないけれど、今のところそういう話もないし。

Webが壊れるやら失望したとかいうコメントが随所で見られたけれど、MozillaもMicrosoftもそういう段階にあるし、WebKitだってそういう事態に直面すれば実装することはあり得るだろう(むしろ率先してやりそうな気もする)。

ナンセンスさは否めない。どのベンダーだって、CSS WGだってそう思っている。ただ、すでにある接頭辞つきの機能については、啓蒙活動やら継続的な更新やらもした上で、こういう対応をしていくしかないんだろう。

それを食い止めるためには、接頭辞の仕組みをやめることがひとつ。あと、ベンダーとベンダー、ベンダーと標準化団体のコミュニケーションをもっとスムーズにすること。そういうことをしないといけないんじゃあないかなあ。

ベンダー、標準化団体、Web開発者をそれぞれなじっても、何も進まんよ。