Subscribe: Web標準Blog [ミツエーリンクス]
http://standards.mitsue.co.jp/index.rdf
Added By: Feedage Forager Feedage Grade B rated
Language: Japanese
Tags:
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Web標準Blog [ミツエーリンクス]

Web標準Blog [ミツエーリンクス]



Webサイト管理者、Webデザイナーの方向けに、Web標準を利用するための手法やノウハウ、参考になるリソース等をご紹介します。



Published: 2013-02-05T11:23:08+09:00

 



2013年1月のW3C: CORS勧告候補、Navigation Timing 2公開

2013-02-05T11:23:08+09:00

CSSモジュールの2草案が更新

1月3日付で、CSS Text DecorationモジュールとCSS Cascading and Inheritanceモジュールの草案が公開されました。

Text DecorationモジュールはLast Callとなります。2011年11月版の草案から大きな変更はありせん。

Cascading and Inheritanceモジュールは2005年以来の更新です。CSS 2.1に沿うように書き直されたほか、HTML5のscoped stylesheetsで使われるスコープという概念の導入などが行われています。

また、すべてのキーワードをリセットする仕組みとしてallプロパティとdefaultキーワードが導入されました。

IndieUI Eventsの草案が公開

1月22日付で、IndieUI Eventsの草案が公開されました。

IndieUI Eventsはプラットフォームやデバイスに依存しない、入力の「意図」に関連するイベントのインターフェースを提供する仕様です。アクセシビリティBlogのエントリがより分かりやすく詳細を伝えていますので、そちらをご覧ください。

CORSが勧告候補に

1月29日付で、Cross-Origin Resource Sharing (CORS)が勧告候補となりました。

CORSは異なるorigin間でリソースのやりとりをする際に使われるAccess-Control-Allow-OriginヘッダなどいくつかのHTTPヘッダとその処理モデルを定義しています。

Navigation Timing 2の草案が公開

1月31日付で、Navigation Timing 2の草案が公開されました。

Navigation Timing 2は、2012年12月に勧告されたNavigation Timing仕様の後継版で、[Performance Timeline仕様]や、[High Resolution Time]仕様を組み込んでいます。ほかにも、linkNegotiationStart, linkNegotiationEnd プロパティが追加され、ネットワークインターフェースの起動・終了時間を取得できるようになっています。モバイルにおいて無線の起動・終了時間がかかるという課題から追加されたものです。




2012年12月のW3C: HTML5が勧告候補に

2012-12-28T12:00:00+09:00

HTML5が勧告候補に 12月17日付けで、HTML5, Canvas 2D Contextが勧告候補として公開されました。 HTML5 HTML Canvas 2D Context 「勧告候補 (Candidate Recommendation)」とは、レビューが広く行われ、実装を呼びかける段階と判断された仕様です。HTML5という巨大な仕様がおおまかに固まったことから、プレスリリースを伴うニュースとなりました。 もっとも、HTML5についていえば、それ以前よりWHATWGでの仕様策定が進んでいたこと、ブラウザーでの実装や利用が進んでいることもあり、実装の開始という意味合いは薄いです。大きな変更が想定されないところまで、HTML5仕様が安定したと判断されたことが大きいでしょう。 HTML WGは今後、2014年の勧告にむけ、テストスイートの作成と検証を進めていきます。大きな仕様ですから、すべての機能に対しテストケースをつくればスケジュールに影響します。そこで、すでにWebサイト・Webアプリによる「実践テスト」が充分に行われている機能についてはテストを作成しないなどの方針が取られるようです。 HTML 5.1と拡張仕様の公開 HTML5の勧告候補にあわせ、HTML 5.1, Canvas 2D Context Level 2の草案、HTML5拡張仕様のmain element仕様の草案も公開されました。 HTML 5.1 HTML Canvas 2D Context, Level 2 main element - an HTML5 extension specification 勧告候補となったことで、HTML5仕様に対し機能の追加は望めません。しかし、新しい機能の要望は絶えません。こうした新しい機能については、HTML 5.1もしくは拡張仕様と呼ばれる仕様で補完する仕組みで対処することが発表されています。 main element仕様は提案されている拡張仕様のひとつで、role="main" を新たな要素として定義します。id="main" といったマークアップの慣習も置き換えられることからすでに多くの支持を得ています。仕様の提案者やその支持者によってWebKit, Geckoにパッチが提供されるなど、実装にも動き出しています。 Pointer Events仕様が公開 12月11日付で、Pointer Eventsの草案が公開されました。 Pointer Events Pointer Events仕様は、マウスやタッチスクリーンなど異なる入力形式を「ポインタ」という抽象的な入力形式ととらえ、ポインタ入力に関するイベントやインターフェースを定義します。MicrosoftがW3Cに提案し、11月にWorking Groupが設立されました。 CSS3 Fontsモジュールの更新 12月11日付で、CSS3 Fontsモジュールが更新されました。 CSS Fonts Module Level 3 この草案では新たに、Webフォントの読み込み状態を知るためのイベントとインターフェースFontLoaderが定義されました CSS Conditional RulesモジュールがLast Callに 12月13日付で、CSS Conditional RulesモジュールがLast Callとして公開されました。 CSS Conditional Rules Module Level 3 Conditional Rulesモジュールでは、あるプロパティもしくは値がサポートされているかを確かめる@supportsという@ルールが定義されています。@supportsはOpera 12.10で実装されたほか、Firefoxもリリース版以外で実装しています。 CSSの@ルールのほか、JavaScriptからサポート状況を検知するwindow.CSS.supports()というインターフェースも定義されています。こちらは先日、Firefox Nightly (20) に実装されました。 Selectors API Level 1が勧告案に 12月13日付で、Selectors API Level 1が勧告案になりました。 Selectors API Level 1 Selectors API Level 1では、document.querySelectorAll()をはじめ、セレクタから要素を取得するインターフェースが定義されています。すでに主要ブラウザすべ[...]



2012年11月のW3C: Pointer Events WGの設立

2012-12-12T15:06:00+09:00

Pointer Events WGの設立

11月9日に、Pointer Events Working Groupの設立が発表されました。

Pointer Events WGは、Pointer Eventsという仕様を策定します。

モバイル端末、ラップトップのタッチパネルなど、マウスではない入力デバイスも増えてきています。タッチ入力についてはTouch Events仕様が策定されていますが、入力デバイスごとに独自のイベントモデルを用意するのは開発において、また標準の策定においてもコストがかかります。

Pointer Events仕様では幅広い入力デバイスを「ポインタ」と抽象化し、それに対しイベントを定義します。もともとはMicrosoftがIE10に実装したものですが、W3Cに持ち込まれ標準化されることになりました。

CSS Gridモジュールの更新

11月6日付けで、CSS Gridモジュールの草案が更新されました。

Microsoftが提案したもので、IE10で提案段階の仕様が実装されています。

CSS3 Text & CSS3 Text Decorationモジュール

11月13日に、CSS TextモジュールとCSS Text Decorationモジュールの草案が公開されました。

Text Decorationモジュールは、text-decoration, text-emphasis, text-shadowなど、視覚効果に関する機能を定義するモジュールです。Textモジュールから分離したもので、独立した草案としては初公開です。 Textモジュールでは、改行に関する仕様についていくつか変更が入っているようです。

CSS Maskingモジュールが公開

11月15日に、CSS Maskingモジュールの草案が公開されました。

Masking仕様は、ある領域もしくはある画像をマスクとして画像合成を行う仕組みを定義します。Appleが導入した-webkit-mask()の標準化と、SVGのclip-pathをHTMLでも使う仕組みを定義することが目的です。CSS WGとSVG WGの合同タスクフォースFX Task Forceの仕様ということもあり、SVGの要素もこちらで定義されています。




2012年10月のW3C: WebPlatform Docsが公開

2012-11-30T15:22:04+09:00

WebPlatform Docsが公開 10月8日に、WebPlatform.org とWebPlatform Docs が、W3Cとブラウザベンダーを始めとする企業の賛同を得て公開されました。 WebPlatform.org -- Your Web, documented WebPlatform Docs Announcing Web Platform Docs One Small Step | Web Platform Blog WebPlatform Docsは、Webフロントエンド技術のドキュメンテーションをコミュニティ主体で行うために設立されました。 Web開発において、情報を集める際に、ブログや各ベンダーが公開しているドキュメンテーションをはじめ複数のWebサイトを渡ることは多いですが、あまり効率的とはいえません。また、古い情報や適切ではない情報が検索エンジンの上位にくるといった現状もあります。 WebPlatform Docsでは、そうした情報の集約を行うことで、開発の効率化、ベストプラクティスの普及をねらっています。MediaWikiをベースとしたシステムで、誰もがアップデートできることが特徴です。 System Applications WG設立 10月2日に、System Applications WGの設立が発表されました。 System Applications Working Group - W3C SysApps WGは、OSと密接したWebアプリケーションに必要なAPIやセキュリティモデルの策定を行うグループです。グループのcharterでは、モバイルデバイスにおける連絡先やメッセージング、電話などが策定対象のAPIとして挙がっています。 Audio APIのユースケース 10月4日に、Web Audio Processing: Use Cases and Requirementsという文書が初公開されました。 Web Audio Processing: Use Cases and Requirements 音声関連のAPI、とくにWeb Audio APIが使われるシナリを検討し、APIのどの機能が利用できるかを記しています。 CSS3 Counter Stylesの草案が初公開 10月9日に、CSS Counter Stylesモジュールの草案が初公開されました。 CSS Counter Styles Level 3 Counter Stylesモジュールでは、制作者が独自のカウンタ機能を定義できる@counter-styleルールを定義します。定義したカウンタは、リストマーカやgenerated contentで利用できます。Listモジュールで定義されていましたが、8月のF2Fミーティングにて独自のモジュールに分離することが決定し、今回の公開に至ります。 High Resolution Timeが勧告候補に 10月23日付で、High Resolution Time仕様が勧告候補となりました。 High Resolution Time この仕様は、Web Performance WGが策定するパフォーマンス関連のAPI仕様で利用されるDOMHighResTimeStampインターフェースと、その値を得るperformance.now()メソッドを定義しています。時間の計測にはDate.now()が使われていますが、performance.now()は1000分の1ミリセカンドとより高精度な時間を返します。また、エポック秒ではなくページのナビゲーション開始からの時間を返すなど、パフォーマンス計測に最適化されています。 Filter Effects 1.0 10月25日に、Filter Effects仕様の草案が初公開されました。 Filter Effects 1.0 Filter Effects仕様はCSS WGとSVG WGの合同タスクフォースFX Task Forceにて策定が進んでいます。SVGにあるフィルタをHTMLなどでも利用できるよう、CSSにfilterプロパティを定義するなど、CSSとの融合を目指しています。また、フィルタを独自に定義できるカスタムフィルタという仕組みも用意されています(以前はCSS Shadersと呼ばれていました)。 フィルタについてはHTML5Rocksに詳細な記事が、カスタムフィルタについては提案したAdobeのWebサイト上に記事やデモが掲載されています。 Understanding CSS Filter Effects - HTML5 Rocks CSS shaders: Cinematic effects for[...]



2012年9月のW3C: HTML5の2014年勧告に向けた計画が発表

2012-11-29T12:05:00+09:00

HTML5の2014年勧告に向けた計画が発表

9月19日にHTML WGのco-chairより、HTML5の勧告にむけた計画が発表されました。

計画は「Plan 2014」と題した文書にまとめられています。

2014とあるように、2014年にHTML5を勧告する方針は変わりませんが、細部は変わっています。HTML5仕様は巨大で、仕様の安定度合いや実装状況は機能ごとに異なります。仕様を2014年に勧告するため、現時点で安定しており実装もある機能をHTML 5.0として2014年の第4四半期に勧告、そうでない機能を含めたHTML 5.1を追って2016年の第4四半期に勧告することが提案されました。

現在も係争中の機能(longdesc属性やhgroup要素など)が勧告への妨げになることを防ぐため、拡張仕様(extension specification)という仕組みの導入が提案されました。HTML5仕様から機能の一部を分離することはこれまでも行われていますが、拡張仕様はHTML WGの合意と勧告の条件を満たす場合においてHTML仕様に統合される可能性もあるとされています。

DOM3 EventsのLast Call

9月6日付で、DOM3 Events仕様がLast Callとなりました。

6月14日付けの草案とほぼ内容は同じですが、WheelEventの持つ値の型が変更されるなど、若干の変更があります。

CSS Transforms

9月11日付で、CSS Transforms仕様が更新されました。

4月3日付け草案からの変更点はwww-styleへのポストにまとめられています。

CSS4 Image Values

9月11日付で、CSS4 Image Values仕様が初公開されました。

Level 4では、Level 3から先送りされたcross-fade(), element()や、WebKitが独自拡張として取り入れたimage-set()の標準化が検討されています。

CSS Conditional Rules

9月11日付で、CSS Conditional Rulesモジュールの草案が更新されました。

定義されている機能のうち、@supportsは先週正式版がリリースされたOpera 12.10と、来週正式版が公開予定のFirefox 17で実装されています(仕様が草案段階のためFirefoxは設定で無効にされています)。WebKitでも先月実装されましたが、有効にされてはいないようです。

CSS Flexbox Moduleの勧告候補

9月18日付けで、CSS Flexboxモジュールが勧告候補となりました。

Flexboxは、Opera 12.10で実装されています。また、Chromeが接頭辞付きで実装中です。FirefoxもFirefox 18で初期実装を行なっていますが、実装されていない機能がまだあるため設定で無効にされています。

IE10でも実装されたのですが、勧告候補になる少し前に構文が変わったため、IE10では古い構文の実装となってしまいました。

DOM Parsing and Serialization

9月20日付けで、DOM Parsing and Serialization仕様が初公開されました。

この仕様では、innerHTML, insertAdjacentHTMLなど、HTMLマークアップとDOMを相互変換するAPIなどが定義されています。もともとはHTML5仕様で定義されていましたが、この仕様に移管されました。

WebSocket APIの勧告候補

9月20日付けで、WebSocket APIが勧告候補となりました。

勧告候補ということで、実装とテストケースによる検証が始まります。実装は主要ブラウザで行われていますし、テストケースについてもMicrosoftやOperaなどから提出されています。テストケース自体の検証が終わり、実装のテストがされれば、勧告案にむけた準備が進むでしょう。

CSS Intrinsic & Extrinsic Sizing Module

9月27日付けで、CSS Intrinsic & Extrinsic Sizing Module仕様が初公開されました。

CSSのレイアウトでは、自動的に幅や高さが計算されることがあります。この仕様はそれらの仕組みを、精度を高めた用語を使用し説明するものです。また、幅や高さの自動計算を制作者が指定できるよう、widthheightに新しい値を追加しています。




2012年8月のW3C: CSS WG F2F開催

2012-09-04T12:24:39+09:00

8月半ばにCSS WGのFace to faceミーティングが開かれたこともあってか、CSSの仕様が数多く更新されました。

Compositing and Blending

8月16日付けで、CSS WGとSVG WGからCompositing & Blending仕様が初公開されました。SVGのアルファ合成を拡張し、より多くの合成・ブレンドモードが指定可能となります。

合成や乗算などの処理を定義する仕様で、CSS WGとSVG WGの合同タスクフォースであるFX Task Forceにより策定が進められています。

CSS3 Fonts

8月23日付けで、CSS3のフォントモジュールが更新されました。

読み込むフォントは基本的に同一オリジンに配置し、CORSでその制限を緩和することが仕様で明文化されました。

CSS4 セレクタ

8月23日付けで、CSS4のセレクタ仕様が更新されました。

新しいセレクタとして、ドラッグ&ドロップ関連セレクタ:user-error擬似クラスなどが追加されています。

スタイルシートの適用対象を変更する仕組みについては、インジケータが$から!へと変更されました。また、セレクタの前につけるようにも変更されていますが、こちらはまだ検討中のようです。

CSS3 Values & Units 勧告候補

8月28日付けで、CSS3 Values & Unitsモジュールが勧告候補になりました。

cycle()toggle()に改称、calc()が整数値を返せるようになったなど、Last Call後からいくつかの変更があります。

勧告候補ということで、実装を呼びかけるというフェーズに入ったことになりますが、すでに実装は進んでいます。実装状況は単位ごとに異なりますが、たとえば、先週末にベータ版が公開されたFirefox 16では接頭辞なしのcalc()が実装されています。 viewportの幅/高さ応じて変化するvw, vhなどはChrome, Safari 6などで実装されています。calc()vw, vhについては、IE9で先行実装が行われてもいます。




2012年7月のW3C: HTML5の新しいEditorが発表

2012-08-03T16:12:34+09:00

ルビのユースケースをまとめた文書が公開

7月10日付けで、Internationalization Core WGより"Use Cases & Exploratory Approaches for Ruby Markup" という文書が公開されました。

この文書は、いくつかのユースケースを提示し、XHTMLのルビ要素とHTML5のルビ要素、そしてHTML5のルビを拡張した案を比較し、それぞれの手法の長所・短所を説明しています。

HTML5のルビ要素はruby, rt, rpのみが定義されており、rbrbc, rtcがありません。rb要素については昨年HTML5に含めるという変更提案が出されたものの、rbの追加だけでは解決できない問題があることから、変更提案が取り下げられました。

HTML5 Editorチームの発表

7月25日に、HTML5仕様のEditorチームが発表されました。

HTML5仕様のEditorは、もととなるWHATWG HTML仕様のEditorでもあるIan Hickson氏が長らく兼務していました。しかし、今年4月にHTML WGがというHTML5の勧告に向けた計画が公開され、Hickson氏はWHATWG HTML仕様の作業に専念しHTML5仕様のEditorから離れること、HTML WGはHTML5仕様を勧告に導くため新しいEditorを募集することが発表されました。

HTML5仕様の新しいEditorは、Microsoftから2人、Appleから1人、HTML WGのメンバー1人の4人体制となります。

なお、Hickson氏がHTML5仕様とWHATWG HTML仕様の違いについてWHATWGのメーリングリストに投稿したメッセージから、WHATWGとW3Cで「別のHTML」が生まれてしまうといったメディア記事などを見かけますが、こちらについてはHickson氏のメッセージ本文、そしてW3CのCEOであるJeff Jaffe氏がW3CのBlogに投稿したエントリが参考になります。

さて、Hickson氏はHTML5仕様だけではなくCanvas 2D Context仕様のEditorも務めていました。こちらも別途Editorを募集中でしたが、8月2日付けでEditorチームが発表されました。

Adobeから1人、Googleから1人、Microsoftから2人と、こちらも4人体制となっています。




2012年6月のW3C: メディアクエリー勧告、Flexboxはラストコールに

2012-07-02T10:49:53+09:00

メディアクエリーが勧告へ

6月19日付けで、メディアクエリー仕様が勧告されました。

日本語訳も更新しました。

RDFa 1.1が勧告へ

6月7日付けで、RDFa 1.1仕様が勧告されました。

RDFa 1.1ではXHTMLとの結びつきを解消し、HTML5やSVGなど他の言語でもRDFによるメタ情報を埋め込めるようになりました。接頭辞の宣言方法などが変更されています。

RDFa 1.1 LiteはRDFa 1.1のサブセットです。Dublin Coreやschema.orgなどよく使われる語彙についてデフォルトの接頭辞(Dublin Coreはdc, schema.orgはschema)を定義しているなど、複雑さを少し解消する取り組みが行われています。

CSS Flexboxモジュールがラストコールに

6月12日付けで、CSS Flexible Box Layoutモジュール (Flexbox) がラストコールとなりました。

最終草案ではプロパティ名や値の変更が数多く行われています。WebKitの開発版では新しい名前への改名がすでに終わっており、もうじきBeta channelに移行するChrome 21から反映されます。

Flexboxと同日に、CSS Box Alignmentモジュールという仕様も草案が初公開されました。

ボックス内のボックスもしくは内容について、そのalignmentを調整するためのプロパティが各種定義されています。Flexboxで定義されていたプロパティが移管されたうえで、Flexboxに必要なプロパティはFlexbox仕様で拡張するという構成となりました。




Mutation Event から Mutation Observers へ

2012-02-17T09:48:53+09:00

Detect DOM changes with Mutation Observers” で紹介されているように、DOM4 では Mutation Observers という新しいインタフェイス群が定義されました。これらを用いると、DOM2 Events で定義された Mutation Event を置きかえることができます。

Mutation Event は数々の問題点を抱えていることが明らかになっています(策定中の DOM3 Events では該当箇所に警告文が記述されているほどです)。例えばパフォーマンスに関わる問題があります。Mutation Event では子ノードだけでなく、すべての子孫ノードからイベントが発送されます。よって、子孫ノード数が多く、ルートノードに近いノードでは、場合にもよりますが膨大な数のイベントを拾ってしまいがちになります。それらをいちいちイベントリスナ内でチェックする必要があるため、その処理だけで時間がかかりがちです。また、すべて同期(Sync)イベントでもあります。複雑な Web アプリケーションではノード数も多くなりがちなので、よりパフォーマンスに与える影響が大きくなります。

Mutation Observers は、こうした Mutation Event の問題点を解決、もしくは軽減するために定義されたといっても過言ではないでしょう。Mutation Observers は様々なオプションを与えて「どの範囲の何を対象にするか」を決定することができます。

例えば、先程問題点として挙げたすべての子孫ノードからイベントが発送されうる問題も、オプションを { childList : true } とすれば対象を子ノードに限定することが可能であるため、簡単に回避することができます(子孫ノードをすべて対象にしたいなら { childList : true, subtree : true } とする)。

本エントリの執筆時点では、WebKit のみベンダー接頭辞つきで実装されています(が、完全ではありません)。Gecko (Mozilla) はベンダー接頭辞つきで実装している途中です。Presto (Opera) は 12.00 Build 1272 時点では未サポートです。Trident (IE) は IE10 PP (10.0.8103.0) 時点では未サポートです。




2011年12月のW3C

2012-01-05T10:45:39+09:00

Geolocation API Level 2, DeviceOrientation

12月1日付で、Geolocation WGから2仕様の草案がLast Callとして公開されました。

Geolocation API level 2はGeolocation API仕様の拡張仕様で、住所を取得するAddressインターフェースが追加されています。DeviceOrientation Eventはデバイスの傾きや加速度などに関するインターフェースを定義しています。

Geolocation APIは初めての草案ですが、Last Callとなっています。追加される機能が少ないことや、数年前からEditor's Draftのかたちで存在していたことがいきなりのLast Callに繋がっているのでしょう。

Media Fragments URI 1.0

Media Fragments WGが策定するMedia Fragments URI 1.0仕様が、12月1日付で勧告候補となりました。

Media Fragments URIは、画像やビデオなどのメディアリソースのURIについて、画面上の領域や時間の一部をフラグメント識別子から表す仕組みです。

仕様で定義されているTemporal dimensionというフラグメントでは、ビデオや音声ファイルの一部分を、そのURIから指定できます。

このようにメディアファイルに特別なフラグメント識別子を与えることで、「43秒から60秒まで」といった範囲を指定できます。昨年12月20日にリリースされたFirefox 9で一部実装されており、利用できます。

Media Fragmentsには他にも画像の一部を指定するフラグメントなども定義されていますが、いまのところ実装はありません。

CSS3関連3草案

12月6日付で、新しいImage Valuesモジュールの草案が公開されました。

昨年紹介したradial-gradient()の構文変更も反映されています。

12月13日付で、CSS Exclusions and Shapesモジュールの草案が公開されました。

12月15日付で、CSS 2D Transformsの草案が更新されました。

今後はSVG WGとの合同タスクフォースであるFXTFでの作業となり、CSS 3D Transforms, SVG Transforms仕様と統合されることもあり、仕様書に注釈が加わっています。

WebSocket API, Web Storageの勧告候補

12月8日付で、WebSocket APIとWeb Storageが勧告候補として公開されました。

WebSocketのプロトコル仕様については、昨年末にRFC 6455として発行されています。

Touch Events 1の勧告候補

12月15日付で、Web Events WGからTouch Events version 1仕様の勧告候補が公開されました。

Audio WGから3仕様が公開

12月15日付けで、Audio WGから音声処理に関する仕様の草案が3つ公開されました。

仕様書の名前を見ると、3つの音声関連API仕様が策定されているように見えますが、最初のAudio Processing APIについては今のところ、Web Audio APIとMediaStream Processing API仕様を簡単に比較した文書となっています。

Web Audio APIはGoogleが提案したもので、Chromeで試験実装が行われています。MediaStream Processing APIはWebRTC仕様やMozillaの拡張であるAudio Data API、そしてWeb Audio APIを参考に作られた新しい仕様とのことです。




2011年のWeb標準

2011-12-27T14:04:57+09:00

2011年も残すところあと数日となりました。というわけで、Web標準に関する今年の出来事を簡単ですがまとめてみました。 HTML5のLast Call 5月25日に、HTML5がLast Callとして公開されました。 HTML5がLast Callに Last Call期間中には、1500を超えるコメントがバグとして登録されました。 上のエントリでは当時のLast Call後のスケジュールについて触れていますが、その後引き直され、現在は年末までにバグの解決、4月上旬にissueを解決し、次のステップについて発表することになっています。 "Last Call"というラベルではありますが、機能が完成したというわけではありません。他のグループや実装側からのフィードバックによって、仕様には今も大小様々な変更が行われています。 たとえば、Last Call以降、HTML5には次のような機能が追加されました。 crossorigin属性 typemismatch属性 download属性 WHATWGのHTML仕様では、data要素の導入とtime要素の改定も行われています。 追加だけではなく、分離も行われています。DOM関連では、getElementsByClassName()などいくつかの概念がDOM4に、編集に関わるAPIはHTML Editing APIs、UndoManager and DOM Transactionといった別の仕様で定義されるようになっています。 WHATWGのHTML仕様で定義されていたいくつかの機能も、W3Cで協議されるようになりました。 getUserMedia()メソッドなどは、WebRTC WGのWebRTC仕様の基礎となりました。 video要素のtrack要素で利用するテキストトラック仕様WebVTTも、Web Media Text Tracks Community Groupという専門のCommunity Groupでの検討に入りました。 2012年の終わりには勧告候補というスケジュールが考えられているようですが、継続して加えられる変更をどう反映していくかが課題となりそうです。 CSS 2.1勧告、CSS3の前進 CSS 2.1やいくつかのCSS3モジュールが勧告されました。 CSS 2.1とCSS3 Colorモジュールが勧告 2011年9月後半のW3C また、2週間前にはCSS WGの新しいcharterが発行されました。2013年9月末までの活動計画をうかがえます。 CSS Working Group charter 期限内には背景&ボーダーモジュール、Values & Unitsモジュール、Basic UIモジュールの勧告が見込まれているようです。勧告に向け仕様も動き始めており、たとえばUIモジュールでは実装や相互運用性に乏しいappearanceプロパティの削除など、今後のコンテンツ作成に影響しうる大きな変更もあります。 Text, Fonts, Flexbox, Image Valuesについては、勧告候補が見込まれています。多くの機能が実装中ですので、実装状況やテストケースの作成状況によっては、それ以上の段階に進めるのかもしれません。相互運用性に乏しい機能が分離される可能性もあるでしょう。 さて、今年はRegions, Exclusions, Grid Alignmentなど、レイアウトに関する新しい仕様が提案されました。RegionsはAdobeが提案したものですが、Microsoftが賛同しIE10のPlatform Previewに実装されるなど、実装の動きが早く驚かされます。 とはいえ、レイアウトに関する仕様は増える一方で、どう標準化するかを協議している段階でもあります。デバイスの多様化や雑誌・書籍の電子化といった流れから、高機能なレイアウト仕様はこれまで以上に求められています。 SVG 1.1 SE勧告、FXTF SVG 1.1 Second Editionも改訂作業[...]



2011年11月のW3C

2011-12-02T13:09:07+09:00

TPAC開催

10/31から11/4まで、米国カリフォルニア州のサンタクララでW3Cの総会TPAC 2011が開催されました。

週半ばのTechnical Plenaryについては、今月発売のWeb Designingの連載で取り上げております。

W3Conf開催

TPACから2週間後の11月15日と16日には、ワシントン州シアトルでW3Cが主催する初めてのカンファレンスである「W3Conf」が開催されました。

セッションの動画も公開されています。Web標準によるデータ視覚化やブラウザ開発者のパネルディスカッションなど、面白いセッションが多数あったようです。

CSS3の4草案と新しいスタイルシートの実験

11月29日付で、CSS WGからCSS3の4モジュールが更新されました。

Regionsモジュールについてはスタイルシートが随分違うものになっていますが、これは先日CSS WGに加入したBen Schwarzが他のCSS WGのメンバーと共に実験中の新しいスタイルシートです。

Benは開発者版のWHATWG HTML仕様のスタイルも手がけています。

Content Security Policy

11月29日付で、Web Application Security WGからContent Security Policyの草案が公開されました。

最初の公開草案ではありますが、GeckoやWebKitが試験的に実装を進めており、Chromeでは内部で利用しています。拡張にも適用するという話があるようです。




CSSグラデーションの構文変更とベンダー接頭辞

2011-11-28T12:02:05+09:00

前回のベンダー接頭辞に関するエントリで、接頭辞なしの機能を併記してもうまくいかないことがあると書きました。 これは、標準化された(接頭辞のない)機能の構文もしくは解釈が変わってしまう場合を意図しています。そして、CSSのグラデーションでそうした変更が加えられています。 linear-gradient()のキーワードが変更に 少し前の話になりますが、9月8日に更新されたCSS3 Image Values草案では、linear-gradient()の構文で利用されるキーワードの書式が変更されています。 これまでの構文linear-gradient( [deg | side] , color-stops) 提案された構文linear-gradient( [deg | to side-or-corner] , color-stops) これまで、キーワードは、topなら下向きのグラデーション、rightは左向きのグラデーションなど、グラデーションの基点を示していました。 しかし、7月12日版の草案でdegの解釈が変更され、0degが下から上へのグラデーションを表すことになりました。 ここで、0degは「上向き」topは「下向き」になります。どちらも「上」を想起させますが、グラデーションの方向が正反対になります。これは混乱のもとになります。 このため、9月8日版の草案でキーワードの構文が変更されました。新しいキーワードは、to bottom、to topなど、方向を示していることが文字から分かりやすくなりました。 /* これまでのキーワードは基点を指定する */ background-image: -moz-linear-gradient(top, #eee, #ddd); /* 新しいキーワードは方向を指定する */ background-image: linear-gradient(to bottom, #eee, #ddd); キーワードが変わってしまったため、linear-gradient(top, #eee, #ddd); など古いキーワードを利用した接頭辞なしの記述は無視されてしまいます。 解決策ではありませんが、上から下へのグラデーションについては、キーワードを省略すると良いかもしれません。キーワードを省略すると、それは下方向へのグラデーションになると定義されているのですが、これは接頭辞つきの実装と新しい仕様においても共通だからです。 background-image: -moz-linear-gradient(#eee, #ddd); background-image: linear-gradient(#eee, #ddd); radial-gradient()の構文が変更 構文の変更はlinear-gradient()だけなく、radial-gradient()にも及びそうです。今月初めに開催されたTPAC 2011のCSS WG F2Fミーティングで議論され、CSS WG BlogやCSS3.infoに、コメントを求める記事が投稿されています。 Radial Gradient Readability 提案されている新しい構文では、to size, at positionなどキーワードを追加し、値だけだった以前の構文に比べて「読める」ようになっています。 これまでの構文radial-gradient(position, [size || shape], color-stops) 提案された構文radial-gradient(shape [to size || at position], color-stops) /* 位置、大きさ、カラーストップ */ background-image: -webkit-radial-gradient(10% 20%, 25px 25px, #999 50%, #fff); /* 一例 */ background-image: radial-gradient(circle to 25px at 10% 20%, #999 50%, #fff); /* 次のようにも書ける */ background-image: radial-gradient(at 10% 20% to 25px 25px, #999 50%, #fff); 新しい構文によって将来的な拡張も容易になったとのことですが、既存の接頭辞つき実装と構文が異なるため、いま書かれている接頭辞なしの記述は無視されてしまいます。 追記 (2011-12-07) 1[...]



ベンダー接頭辞は有害か

2011-11-16T11:26:17+09:00

MozillaでHTML5パーサなどの開発に関わっているHenri Sivonenが、自身のWebサイトにベンダー接頭辞はWebにとって有害であるいう考察記事を公開しています。

ベンダー接頭辞はWeb開発者にも、利用者にも、そしてブラウザの競争においても有害であり、ベンダーは接頭辞つきの実装をやめるべきだという指摘を、様々な点から分析し考察しています。

利用者やブラウザの競争においても有害?

CSSのベンダー接頭辞に関する「手間」については、CSS3の機能が広く利用されているいま、説明する必要はあまりないかと思われます。

最近ではAPI仕様についても、ベンダー接頭辞をつけた実装が行われるようになりました。標準の実装において慣習となりつつあるわけです。しかし、利用者やブラウザの競争においても有害となるのはなぜでしょうか。

この背景には、とくにWebKitが挙げられるのではと考えられます。WebKitには多くの大企業が開発に関わるようになり、幅広い機能が短い期間の間に動くレベルまで実装されるようになりました。こうした新しい機能については、かなり多くのものがWebKitの接頭辞つきで実装されています。

新しい機能の多くは、短いリリースサイクルを持つChromeでいち早く利用可能になります。また、こうした新しい機能を紹介する目的で作られたデモの多くは、WebKitの接頭辞のみを利用しているため、たとえ同じ機能が別のブラウザで後に実装されたとしても、動作しません。

デモだけで済めばよいですが、モバイルでのWebKitの寡占状態によって、WebKit接頭辞つきの機能に依存したWebコンテンツは増加する一方です。その機能がなければ動かないコンテンツも増えています。

WebKitだけに限定される話ではありませんし、接頭辞つきプロパティを使うべきではないと言いたいわけではありませんが、最低限の対応は心がけたいところです。

HTML5では推奨されないベンダー接頭辞

さて、こうした接頭辞つき機能への依存もあり、他のベンダーの接頭辞も解釈するよう求めるバグ報告なども上がるケースがあります。接頭辞の導入された目的を考えると、これは受け入れがたいことです。

しかし、広く使われている機能であれば、ベンダー固有であるにせよデファクト標準に近い性質を持ちます。非標準であった機能の標準化を数多く行なっているのが、HTML5仕様です。

実は、ベンダー接頭辞の仕組みはHTML5仕様にも記されています。拡張性について書かれたセクションに、ベンダー固有拡張の属性に関して定義があります。

固有拡張の属性は、x-attributenameという形式で、先頭にx-がつきます。GoogleがChromeに実装した音声入力機能などがこの仕組みを採用し、x-webkit-speech>として実装されています。

ただし、HTML5仕様では「この仕様に対し、ベンダー固有のプロプライエタリな拡張は強く推奨しない」と但し書きがついた上で、拡張に関する定義がなされています。ベンダー固有拡張は詳細な挙動が仕様として公開されないこともあり、HTML5の目的である相互運用性の確保に相反することが理由として考えられます。

また、そうした拡張に依存したコンテンツが増えてしまうと、HTML5の方針である「既存コンテンツのサポート」「車輪の再発明を避ける」に従い、接頭辞つきの機能をそのまま取り入れる可能性も否定できないですから、それを避けたいとも考えられます。

CSS WGのco-chairも反対が

CSS WGにおいても、ベンダー接頭辞に反対しているメンバーが居ます。なんとWGのco-chairであるDaniel Glazmanがその一人です。先日もベンダー接頭辞に関するエントリを自身のBlogに投稿しています。

Danielは次のような提案をしています。

  • 試験的な機能は安定するまでWebコンテンツではデフォルトで無効とする(アプリケーションレベルでは有効)
  • デバッグメニューから有効にすることで利用可能とする
  • 試験的な機能を有効にするか利用者に尋ねる機能をAPIとして用意する(有効範囲はドメイン単位)
  • ブラウザーがバージョンアップしたら、いま一度無効化される

議論を広げるためにすこし大きく表現したようですが、試験的な機能の有効化については、冒頭に取り上げたHenriの記事でも「開発版に留めるべき」といった見解を示しています。

ベンダー接頭辞とつき合うにあたり

ベンダー接頭辞に関する問題提起は定期的に盛り上がりを見せますが、大きな動きになることはありません。また、ベンダー接頭辞がなくなったとしても、接頭辞つき機能との互換性を考えると、しばらくはベンダー接頭辞とつき合う必要があるでしょう。

CSSについては、昨年投稿した 「ベンダー接頭辞は使ってもよいか」というエントリで、次のような方針を紹介しています。

  • 接頭辞つきプロパティを書くのであれば、正式なプロパティも含める
  • 仕様の安定度や実装状況をみて、新しい機能に大きく依存しないように使う

APIに関しても、同じように考えることができるでしょう。

しかしながら、「正式なプロパティを含める」という点に関しては、うまくいかないこともあります。この点については、別に取り上げたいと思います。




2011年10月のW3C

2011-11-10T15:05:18+09:00

CSS3 Fonts更新

10月4付で、CSS WGから新しいCSS3 Fontsモジュールの草案が公開されました。

フォントの読み込みは基本的に同一originからという規定がat-riskとされたほか、font-variantの例が追加されるなどの変更が加わっています。

Web Testing Activity

10月13日に、Web Testing Activityの設立がアナウンスされました。

Web Testing Activityは、Web Testing IGとBrowser Testing and Tools WGの2グループから構成されます。

Web Testing IGは、Web標準のテストフレームワーク開発やテストケース・テストスイートの管理手法などについて活動を行うグループです。Browser Testing and Tools WGは、ブラウザの開発者ツールで広く使われるようになったconsoleオブジェクトの標準化や、テストにおいてクリックや文字入力など利用者の行動をシミュレートするWeb Driver APIという仕様を策定予定です。

Web Testing Activityについては、18日発売のWeb Designingのコラム「Web Standards Plus」でも取り上げております。

WebAppsから3仕様更新

10月20日付で、WebApps WGから新しいFile API, Server-Sent Events, HTML5 Web Messaging仕様の草案が公開されました。

File APIはほぼ1年ぶりの更新ということもあり、数多くの変更が加わったようです。

Server-Sent EventsやHTML5 Web Messagingでは、DOM4で導入されたイベントコンストラクタへの対応などが行われています。Last Callとして公開されていましたが、草案に差し戻されています。

Web StorageのLast Call

10月25日付で、WebApps WGよりWeb Storageの新しい草案がLast Callとして公開されました。

エラーの名前がSECURITY_ERRからSecurityErrorに変更されており、またDOM4のイベントコンストラクタにも対応しました。

Touch Events version 1のLast Call

10月27日付で、WebEvents WGよりTouch Events version 1の新しい草案がLast Callとして公開されました。