Web標準Blogでは、Web標準の利用に興味のあるWebサイト管理者、Webデザイナーの方向けに、Web標準を利用するための手法やノウハウ、参考になるリソース等を、国内外を問わずご紹介します。
2013年1月のW3C: CORS勧告候補、Navigation Timing 2公開
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が勧告候補に
HTML5が勧告候補に
12月17日付けで、HTML5, 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仕様の草案も公開されました。
勧告候補となったことで、HTML5仕様に対し機能の追加は望めません。しかし、新しい機能の要望は絶えません。こうした新しい機能については、HTML 5.1もしくは拡張仕様と呼ばれる仕様で補完する仕組みで対処することが発表されています。
main
element仕様は提案されている拡張仕様のひとつで、role="main"
を新たな要素として定義します。id="main"
といったマークアップの慣習も置き換えられることからすでに多くの支持を得ています。仕様の提案者やその支持者によってWebKit, Geckoにパッチが提供されるなど、実装にも動き出しています。
Pointer Events仕様が公開
12月11日付で、Pointer Eventsの草案が公開されました。
Pointer Events仕様は、マウスやタッチスクリーンなど異なる入力形式を「ポインタ」という抽象的な入力形式ととらえ、ポインタ入力に関するイベントやインターフェースを定義します。MicrosoftがW3Cに提案し、11月にWorking Groupが設立されました。
CSS3 Fontsモジュールの更新
12月11日付で、CSS3 Fontsモジュールが更新されました。
この草案では新たに、Webフォントの読み込み状態を知るためのイベントとインターフェースFontLoader
が定義されました
CSS Conditional RulesモジュールがLast Callに
12月13日付で、CSS Conditional RulesモジュールがLast Callとして公開されました。
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では、document.querySelectorAll()
をはじめ、セレクタから要素を取得するインターフェースが定義されています。すでに主要ブラウザすべてで実装され、勧告への条件を満たしたことから勧告案に進みました。
WOFF 1.0が勧告
12月13日付で、WOFF File Format 1.0が勧告として公開されました。
WOFF 1.0はWebフォントのためのパッケージ仕様です。すでに多くのブラウザで実装され、TypeKitなどWebフォント提供サービスでも利用されています。
Navigation TimingとHigh Resolution Timeが勧告
12月17日付で、Navigation TimingとHigh Resolution Timeが勧告として公開されました。
Navigation Timingは、DNSルックアップの開始・終了やリクエスト開始・終了など、ページの読み込みにおける様々な時間情報を取得するインターフェースを定義します。多くのブラウザで実装されており、このたび勧告となりました。
High Resolution Timeは、パフォーマンス関連API仕様で使われるDOMHighResTimeStamp
インターフェースと、その値を得るperformance.now()
メソッドを定義します。Navigation Timingでは使われていませんが、後継のNavigation Timing 2ではDOMHighResTimeStamp
を使うように更新されています。
2012年11月のW3C: Pointer Events WGの設立
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が公開
WebPlatform Docsが公開
10月8日に、WebPlatform.org とWebPlatform Docs が、W3Cとブラウザベンダーを始めとする企業の賛同を得て公開されました。
WebPlatform Docsは、Webフロントエンド技術のドキュメンテーションをコミュニティ主体で行うために設立されました。
Web開発において、情報を集める際に、ブログや各ベンダーが公開しているドキュメンテーションをはじめ複数のWebサイトを渡ることは多いですが、あまり効率的とはいえません。また、古い情報や適切ではない情報が検索エンジンの上位にくるといった現状もあります。 WebPlatform Docsでは、そうした情報の集約を行うことで、開発の効率化、ベストプラクティスの普及をねらっています。MediaWikiをベースとしたシステムで、誰もがアップデートできることが特徴です。
System Applications WG設立
10月2日に、System Applications WGの設立が発表されました。
SysApps WGは、OSと密接したWebアプリケーションに必要なAPIやセキュリティモデルの策定を行うグループです。グループのcharterでは、モバイルデバイスにおける連絡先やメッセージング、電話などが策定対象のAPIとして挙がっています。
Audio APIのユースケース
10月4日に、Web Audio Processing: Use Cases and Requirementsという文書が初公開されました。
音声関連のAPI、とくにWeb Audio APIが使われるシナリを検討し、APIのどの機能が利用できるかを記しています。
CSS3 Counter Stylesの草案が初公開
10月9日に、CSS Counter Stylesモジュールの草案が初公開されました。
Counter Stylesモジュールでは、制作者が独自のカウンタ機能を定義できる@counter-style
ルールを定義します。定義したカウンタは、リストマーカやgenerated contentで利用できます。Listモジュールで定義されていましたが、8月のF2Fミーティングにて独自のモジュールに分離することが決定し、今回の公開に至ります。
High Resolution Timeが勧告候補に
10月23日付で、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仕様は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 the web | Adobe Developer Connection
- Introducing CSS FilterLab | Adobe Developer Connection
HTML5仕様の更新
10月25日に、HTML5仕様と関連仕様が更新されました。
- HTML5
- HTML5: Edition for Web Authors
- HTML5 differences from HTML4
- HTML Microdata
- HTML Canvas 2D Context
- HTML5: Techniques for providing useful text alternatives
- Polyglot Markup: HTML-Compatible XHTML Documents
- HTML to Platform Accessibility APIs Implementation Guide
- HTML: The Markup Language
9月に公開された今後の計画では、今年のの終わりにHTML 5.0として勧告候補が公開され、以降の新しい機能、相互運用性を確保できていない機能はHTML 5.1に先送りされることとなっています。
2012年9月のW3C: HTML5の2014年勧告に向けた計画が発表
HTML5の2014年勧告に向けた計画が発表
9月19日にHTML WGのco-chairより、HTML5の勧告にむけた計画が発表されました。
- Getting HTML5 to Recommendation in 2014 - W3C Blog
- Getting HTML5 to Recommendation in 2014 (public-html)
計画は「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のレイアウトでは、自動的に幅や高さが計算されることがあります。この仕様はそれらの仕組みを、精度を高めた用語を使用し説明するものです。また、幅や高さの自動計算を制作者が指定できるよう、width
やheight
に新しい値を追加しています。
2012年8月のW3C: CSS WG F2F開催
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が発表
ルビのユースケースをまとめた文書が公開
7月10日付けで、Internationalization Core WGより"Use Cases & Exploratory Approaches for Ruby Markup" という文書が公開されました。
この文書は、いくつかのユースケースを提示し、XHTMLのルビ要素とHTML5のルビ要素、そしてHTML5のルビを拡張した案を比較し、それぞれの手法の長所・短所を説明しています。
HTML5のルビ要素はruby
, rt
, rp
のみが定義されており、rb
やrbc
, 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に投稿したエントリが参考になります。
- 運営メモ: WHATWG の HTML Living Standard と W3C の HTML5 仕様との関係についての最新情報(Hickson氏のメッセージ日本語訳。原文)
- HTML5 と HTML.next(Jaffe氏のBlogエントリ日本語訳。原文)
さて、Hickson氏はHTML5仕様だけではなくCanvas 2D Context仕様のEditorも務めていました。こちらも別途Editorを募集中でしたが、8月2日付けでEditorチームが発表されました。
Adobeから1人、Googleから1人、Microsoftから2人と、こちらも4人体制となっています。