ミツエーリンクス

Web標準Blog

Home > メソッド > Web標準Blog > Firefox 4のHTML5パーサと:-moz-any()

Web標準Blogでは、Web標準の利用に興味のあるWebサイト管理者、Webデザイナーの方向けに、Web標準を利用するための手法やノウハウ、参考になるリソース等を、国内外を問わずご紹介します。

なお当Blogでは、Web標準に関する疑問や質問を募集しています。Webコンテンツ実装プロセスにまつわるお悩みでも結構ですので、お気軽に電子メールでstandards@mitsue.co.jp宛にお送りください。

2010年5月14日

Firefox 4のHTML5パーサと:-moz-any()

フロントエンド・エンジニア 矢倉

HTML5の構文解析処理について、以前「HTML5の構文解析がもたらすもの」という記事で触れたことがあります。HTML5パーサはFirefoxで実装が進められているのですが、先日そのパーサが開発版ではデフォルトで有効になりました。これに関連し、FirefoxのHTML5パーサを開発しているHenri SivonenがMozilla Hacksにパーサの概要について記事を書いています。翻訳をmodestに投稿したので、そちらもお読みいただければと思います。

Henriはまた、HTML5のValidator “Validator.nu” も開発しています(Firefoxのコードは、このValidator.nuとベースが同じです)。一昨日のことですが、HTML5に埋め込んだSVGとMathMLの検証もValidator.nuで行えるようになったそうです。

このニュースを参照するかたちで、OperaのAnne van Kesterenが、HTML5のパーサのあゆみについて自身のBlogで取り上げています。

記事によると、初期のHTML5仕様 (このときはWeb Applications 1.0と呼ばれていました) では既存のHTML仕様を拡張するもので、構文解析アルゴリズムは定義されていなかったそうです。しかし、作業を進めていくうちに基盤の定義が必要になったことから、アルゴリズムの定義が始まったとのことです。

Mozillaのようにパーサを置き換えるという大掛かりな変更は、他のブラウザーでは行われていないように思います。しかし、HTML5の構文解析アルゴリズムに準拠する作業は進められており、Internet Explorer 9でもツリー構築処理などが変更されるようです。

さて、少しパーサからは離れますが、先日Firefoxの開発版に:-moz-any()という擬似クラスが実装されました。

このセレクタは括弧内にカンマで単純セレクタを並べ「このどれかにマッチする」という条件を表すことができるものです。上記のDavid Baronの記事では、ul, ol, menu, dir といったリストが深くネストした状態のユーザーエージェントスタイルシートを、:-moz-any() で書き直した例が紹介されています。また、昨日にはHTML5のセクション要素と見出しのスタイルづけに、この:-moz-any()を利用するパッチが投入されました。

CSS仕様としてはまだ存在していませんが、メーリングリストでは議論が行われたこともあり、CSS4セレクタとして同様の機能が定義されるかもしれません。

HTML5の実装は要素や属性の導入だけではなく、基盤となる処理の変更やスタイルシートの対応も含まれます。目に見えやすい機能やAPIが取り上げられがちですが、こうした足場を固める作業も、地道に進められています。

コメント

コメントする











関連情報

この記事のトラックバックURL:
http://standards.mitsue.co.jp/cgi-bin/mt/mt-tb.cgi/456

バックナンバー

当Blogの更新情報は、Twitter経由でも配信しています。興味のある方はぜひ、@mlcstandardsをフォローしてください。当Blogへのご意見・ご質問は、Twitter経由でも受け付けております。

プライバシー&サイトポリシーCopyright (c) 2011 Mitsue-Links Co.,Ltd. All Rights Reserved.

Web制作、ホームページ作成、Flash制作:Webサイト構築、Webサイト運用:ブロードバンドコンテンツ(音声制作、動画制作):システム開発、Webマーケティング、Webブランディング、Webコンサルティング・・>のWeb Integrationならミツエーリンクスにお任せください。