HTML5のセマンティックなタグはまだ議論沸騰中

2009年7月27日

HTML5には、文書内部に書かれた情報を意味付けするためのセマンティックなタグが追加されています。section、nav、aside、header、footerなどのタグです。

例えば、現在では多くのWebサイトがDivタグを使ってメニューや本文、サイドバーなどを記述しています。

<div class="navigation">ナビゲーションメニュー</div>
<div class="article">本文の内容</div>
<div class="sidebar">サイドバーの内容</div>
<div class="footer">フッタの内容</div>

これが、HTML5ではナビゲーション用のタグ、本文用のタグ、サイドバー用のタグなどが用意されていて、それらを使って記述することができるようになります。

<nav>ナビゲーションメニュー</nav>
<article>本文の内容</article>
<aside>サイドバーの内容</aside>
<footer>フッタの内容</footer>

これによってHTML文書のセマンティックなタグ付けを可能にし、構造がよりわかりやすくなります。

HTML5の新しいタグに「異議あり!」

Semantics in HTML 5

ところが、この新しいタグの追加については異論が以前からありました。ソフトウェアエンジニアとして著名なJohn Allsopp氏は、WebサイトList Apartの今年1月の記事「Semantics in HTML 5」で、これらのタグは有用ではあるけれども、Backward Compatibility(後方互換性)とForward Comatibilty(前方互換性)の両方で問題を抱えていると指摘しています。

指摘の内容は次のようなものでした。

後方互換性に関しては、HTML5は古いWebブラウザでもちゃんと表示されるように後方互換性を保つべきなのに、HTML5の新しいタグがInternet Explorer 7ではCSSとの組み合わせで正しく表示されず、シェアの大きいWebブラウザでHTML5が正しく表示されないのは問題だ、としています。また、前方互換性については、今後さらにセマンティック対応を進めようとすると、どんどんタグの種類が増えていくことになるが、それでいいのだろうか? という疑問を呈しています。

記事中でAllsop氏は、解決策も提示しています。それはタグの拡張ではなく、属性を拡張すべきだ、というものです。つまり、以下のようにセマンティックなキーワードをstructure属性のようなものを導入して記述する、という方法です。

<div structure="nav">ナビゲーションメニュー</div>

これでInternet Explorer 7を含むWebブラウザは今まで通りDivタグやCSSとの組み合わせをうまく処理でき、タグの種類もむやみに増やすことなくセマンティックな拡張性を確保できると、氏は提案しています。

HTML 5 is a mess

また最近では7月に入ってから、The Web Standards ProjectのメンバーであるBruce Lawson氏も、自身のブログで「 HTML 5 is a mess(HTML5は混沌としている) 」と、HTML5の問題について、「The backwards compatibility mess」「The process mess」「The spec mess」などの指摘をしています。

しかしLawson氏のこのエントリはHTML5を擁護する内容にも読めます。例えば、The Backwads Compatibility Messについては以下に引用するように、HTML4という混沌(mess)の上に構築されているので仕方がないとしています。

That's one reason why HTML 5 a mess. It's built on a mess.

また、The process messについても、

This amorphous process is messy. But, in my opinion, infinitely better than the ivory tower of XHTML 2 academia.

XHTML 2のアカデミックで象牙の塔のようなものよりもずっとよい、と最後は擁護しています。

King of Web Standardsのブログのコメント欄で熱い議論

こうした議論を、HTML5の仕様を策定している当事者はどう捉えているのでしょうか?

HTML 5: nav ambiguity resolved

HTML5のワーキンググループに2人いるエディタの1人であるIan Hickson氏は最近、Bruce Lawson氏が以前にHTML5の仕様を議論するメーリングリストで指摘した「navタグをどの部分に適用すべきかの説明が曖昧である」という点に対して、現在のドラフトの一部を書き換えるなどで対応しています。

[whatwg] editorial ambiguity in definition of <nav>?

また、The Web Standards Projectの創立メンバーでもあり、King of Web Standardsと呼ばれたこともあるJeffery Zeldman氏のブログのエントリ「HTML 5: nav ambiguity resolved - Jeffrey Zeldman Presents The Daily Report」では、前述のJohn Allsop氏、Bruce Lawson氏、そしてIan Hickson氏がコメント欄に登場し、それぞれの意見を説いています。

最初に登場したのはBruce Lawson氏です。次のようなコメントでした。一部を引用します。

I'm trying t0 encourage people to try using HTML 5 on personal sites and report back to the working group if there is an ambiguity or grey area. (Of course, I'm lucky enough to have an employer who pays me to muck around with markup and specs.)

There is still plenty of time to influence the spec and the working group is actively soliciting fresh eyes to review the spec:

もっとみんなにHTML5を自分のWebサイトなどで試してもらって、もしあいまいな部分などを発見したらワーキンググループに報告してもらえばいいと思う。まだそのための時間はあるし、ワーキンググループも積極的にそうした新鮮な視点でのレビューを求めているところだし。

そこからいくつかのコメントをはさんで、HTML5ワーキンググループのエディタ、Ian Hickson氏のコメントが登場します。冒頭のみ引用。

We don't need to predict the future. When the future comes, we can just fix HTML again. It's more important that HTML caters to the present than to the future.

将来を予測する必要はないよ。そのときになれば、またHTMLの仕様を修正すればいいのだから。それよりも、HTMLが、将来のことよりも、いま求められていることを実現できるものにすることが重要だ。

このコメントにはJohn Allsopp氏がかみつきました。冒頭のみ引用。

"when the future comes we can just fix HTML"? Ian, you seriously think that? (略) We CAN'T just fix HTML every 10-15 years with a 5-10 year process. This is the only shot for a generation. That is a huge responsibility not just for those directly responsible for the specification, but all of use who take more than a passing interest in these issues.

そのときにまたHTMLの仕様を修正すればいい? 本気かい? 10年や15年ごとに、5年から10年かかる仕様策定のプロセスを経てHTMLを毎回修正することなんてできないさ。今回の仕様策定は、この世代で唯一の機会だ。だからこの作業は、仕様策定に直接かかわる人に対してだけでなく、この問題に興味のあるすべての人に対して大きな責任を負っているんだよ。

Ian Hickson氏はこれに次のように[反応しています]。これも一部のみ引用。

John: I encourage you to send this feedback to one of the mailing lists listed in the specification, so that it can be properly taken into account. A blog's comments section is hard for me to keep track of in the HTML5 issue-tracking mechanisms.

ジョン、できれば仕様を議論するメーリングリストへフィードバックを送ってほしい。ブログのコメント欄だと、HTML5のこうした課題を追っていくことが難しいんだ。

仕様を議論するメーリングリストとは、HTML5の仕様を策定しているWeb Hypertext Application Technology Working Group(WHATWG)の「The Specifictions」メーリングリストのことです(もちろん、このメーリングリストではHTML5のさまざまな点について活発な議論が進んでいます)。

セマンティックなタグがWeb制作に与える影響は大きい

HTML5のセマンティックなタグに関する議論はこのようにまだ続いています。ワーキンググループも積極的に議論を受け入れる姿勢はあるようですが、一方で体制が追いついていないようにも見えますし、Ian Hickson氏もセマンティックなタグの大きな変更に関してはいまのところは消極的なように見えます。

HTML5は、CanvasタグやVideo/Audioタグのような華々しい機能に注目が集まりがちですが、今回議論にあがったNavタグやArticleタグ、AsideタグなどはほとんどすべてのWebサイトで使われるであろうタグで、影響を与える範囲は間違いなくずっと大きくなります。今後もこの議論の行方は注視すべきものの1つでしょう。

HTML5は現在ワーキングドラフトの段階ですが、10月には要件を満たしたとみなすラストコールへと進むのではないかと見積もられています。そこまで進めば、現実的に大きな変更は起きにくいでしょう。もちろん納期がある仕事ではないため時期を延ばすことは可能ですが、いつまでも引き延ばすというわけにも行きません。

Bruce Lawson氏はコメント欄での議論で「時間はある」と書いていますが、議論に残された時間は意外に短いかもしれません。

関連記事 on Publickey

参考記事 on the Web

あわせて読みたい

HTML/CSS Web技術 Web標準




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本