Hatena::Groupweb

vantguarde

 | 

1.14

HTML5からcanvasの2D Contextが分離

02:40

さて、落ち着いたかな。

そんな感じでタイミングをみてたらだいぶ遅くなってしまいました。

何かというと、Microdataと同じ日にcanvasの2D Context APIも分離されました。

これはなにかというと、canvas.getContext("2d")が返すオブジェクト (CanvasRenderingContext2D) のインターフェースになります。なんでそんな面倒な説明をしてるかというと、canvas要素は引き続きHTML5にあるからです。

いろいろ理由はありますが、とりあえず近接してるのは、MicrosoftのAdrian Batemanが昨年11月にfileしたバグになります。

As discussed on the mailing list and F2F at TPAC, we propose that the API for the Canvas 2D context be defined in a separate document:
http://dev.w3.org/html5/canvas-api/canvas-2d-api.html

The canvas element itself should still be defined in HTML5 and so section 2 of the new document should be removed from the draft. If the working group agrees to this change then a new Bugzilla component should be created and then a new bug can be filed to ensure this section is removed.

Bug 8331 – Move the Canvas 2D context API into a separate spec

以前Doug SchepersとEliot Graffが提案してたcanvas要素を含めた分離ではなく、2D Context部分と限定していますね。

で、これには特に反対がなかったので分離されたと。

今後の予想としては、HTML WGにCanvas Task Force的なものができてそこでの作業かなと。canvasはアクセシビリティ関連のAPIをどうするかとか、SVGとの連携うんぬんというのもあるので、まあ面倒な感じになりそうです。とはいえ実装もかなり前からありますし大きくは変えられませんから、使う分においては問題が起こらないかなあと。

他にもあった気がしますが、とりあえずこの辺で。

コメントをいただいたので追記。

APIは標準提供されなくなるって事ですか?それとも canvas.getContext("XXX") に拡張性が出来たという事?その辺りが分からない。

*
標準提供のくだりに関しては、まあそういうことになるでしょう。diffを見ると<p>Contexts are defined by other specifications.</p>という段落が追加されているのが分かると思います。 拡張性については、以前よりOther specifications may define their own contexts, which would return different objects.と書かれていましたので、今回の件で拡張性ができたという意図なら誤りですね。WebGLなんかがすでに出ていますし。
 | 
Contact: @vant / lepetitcroissant@gmail.com.