Web標準Blogでは、Web標準の利用に興味のあるWebサイト管理者、Webデザイナーの方向けに、Web標準を利用するための手法やノウハウ、参考になるリソース等を、国内外を問わずご紹介します。
なお当Blogでは、Web標準に関する疑問や質問を募集しています。Webコンテンツ実装プロセスにまつわるお悩みでも結構ですので、お気軽に電子メールでstandards@mitsue.co.jp宛にお送りください。
2010年5月28日
HTML/XHTML Compatibility Authoring Guidelines ― XHTML互換のHTML5記法ガイドライン
フロントエンド・エンジニア 矢倉
HTML5のHTML構文は、独自の構文を定義しています。ですから、例えばbr要素などは、<br />という記述、<br>という記述のどちらも書くことができるようになっています。また、これら2つの表記が混在することも可能です。
とはいえ、これからHTMLの基本を教えるときに「どちらでもいい」といった教え方をすると、教えられる側は少し悩んでしまうかもしれません。また、製作者にとっても、保守性や複数人での作業に影響があると言われていますから、なるべくならばコードの書き方に一貫性を持たせたいと考える人は多いのではないでしょうか。
こういった理由などがあり、HTML5でもXHTMLのような書き方を好む人は多いです。また、XHTML互換の書き方で書くと、HTML5パーサやXMLパーサのどちらでも処理できる利点があります。
XMLとして利用出来ることは「XHTMLの利点」として言われ続けながらもあまり活かされない印象がありましたが、EPUBなどXHTMLを利用するフォーマットが注目されはじめてきていることから、XHTMLとしても処理できるHTML文書の需要は少し高まってくるのかもしれません。
さて、HTML WGでもこのXHTML互換のHTML5記法について、前々よりValidatorにそういった構文チェック機能を設けるような仕組みを設けるべき、XHTML互換の構文であることを示す属性を定義してはといった声が上がっていました。Validatorの対応や構文の定義には至っていませんが、製作者向けのガイドラインを整備しようという話が進められ、Editor's Draftではありますが文書が公開されています。
内容はXHTML Media Typesの互換性ガイドライン (日本語訳) に近いでしょうか。新しいHTML5と周辺仕様の草案が来月中に更新される予定ですが、このガイドラインも草案として公開する流れで進められています。
恒久リンク | コメント [2件] | 関連情報(トラックバック) [0件]
2010年5月27日
HTML5での文字エンコーディング指定とValidator.nu
フロントエンド・エンジニア 矢倉
先週行われたGoogle I/OのキーノートでAdobeのCEO, Kevin LynchよりAdobe Dreamweaver CS5 HTML5 Packが発表されました。DreamweaverでHTML5とCSS3のオーサリングを手助けするもので、いくつかの新しい要素やプロパティにコードヒントへの対応や、以前取り上げたマルチスクリーンプレビュー機能などが盛り込まれています。
HTML5やCSS3は発展途上ですからオーサリングツールの対応もまだ充分ではありません。今後のアップデートにも期待したいです。
オーサリングツールのほかにも、マークアップが適切かどうかを判断するための術がほしいところです。HTML5では適合性チェックツールとしてValidator.nuが開発されており、W3CのMarkup Validator (開発版)にも実験的に組み込まれています。
しかしながら、HTML5仕様自体が策定中ですから、当然Validator.nuも開発途中です。また、開発リソースの問題もあり、実装されていない機能もまだまだ多く残っています。つまり、Validator.nuに通っただけで適合しているとは言えないのです。
たとえば、文書のエンコーディング指定ですが、HTML5ではふたつの書き方があります。
meta要素のcharset属性による指定 (<meta charset="UTF-8">)- HTML4と同じ、
http-equiv属性による指定 (<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">)
どちらを使ってもよいのですが、なにせシンプルですからHTML5のものがよく使われています。互換性について気になるかもしれませんが、実はこのcharset属性、古いブラウザーの実装を元に仕様ができた経緯があり、古いブラウザーでも問題なくサポートされています。
ところが、そういったことを知らず、互換性を気にしているのか、このどちらをも指定する文書があるようです。先日CSS Nite LP9連動コーディングコンテストの審査をしていたときにもいくつか見かけたのですが、ふたつ書くことは認められていないと仕様書に書かれています。
There can only be one character encoding declaration in the document.
(訳: 文字エンコーディング宣言は文書中にひとつのみ存在することができる。)
しかし、これはValidator.nuでまだ実装されていない (該当バグ) ため、チェックされずに通ってしまいます。
実験的ではあれ「Valid」と表記するのも少し困りものですが、Validator.nuだけのチェックでは安心出来ない例がいくつかあるので、お気をつけください。
恒久リンク | コメント [0件] | 関連情報(トラックバック) [0件]
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が取り上げられがちですが、こうした足場を固める作業も、地道に進められています。
恒久リンク | コメント [0件] | 関連情報(トラックバック) [0件]
2010年5月 6日
2010年4月のW3C
フロントエンド・エンジニア 矢倉
File API:Writer
Device APIs and Policy WGより4/6付で、File API: Writerの草案が公開されました。
ファイルアクセス関連のAPIは、WebApps WGからFile APIが公開されていますが、ファイルの書き込みについては仕様がありませんでした。WriterではBlobBuilderやFileWriterといったインターフェースが定義されており、アプリケーションからファイルを書き込む仕組みが提供されることになります。
XHTML M12n 1.1 Second Edition
XHTML2 WGより4/15付で、XHTML M12n 1.1 Second Editionの改訂勧告案が公開されました。
XHTML 1.1 Second Editionの改訂勧告案も、早期に公開される予定とのことです。
RDFa 1.1
RDFa WGより4/22付で、RDFa 1.1の草案が2つ公開されました。
RDFa Coreは「RDFa 1.0」と呼ばれたRDFa in XHTML仕様をもとに、RDFaの概念や処理を単一仕様として独立させたものです。他にもいくつかの変更が反映されています。XTHML+RDFa 1.1はXHTML 1.1にRDFa 1.1を取り込んだものになります。
HTML5での利用については、これまで通りHTML WGよりHTML+RDFaとして公開されます。RDFa 1.1に対応した新しい草案も公開にむけ準備が進められているようです。
