yoppa.org


Blog

HTML 5 に対する誤解

XHTML 2 のワーキンググループが活動停止して、XHTMLはHTML 5 に統合されるというニュースを聞いて、この先どうなるのかともやもやしていた。もやもやするだけならいいのだが、多摩美や嘉悦大の授業で、XHTML1.0に準拠してWeb作成の授業をやってきていて、その際に「この文法をしっかり守っていれば、多少仕様が変化しても、この先何年も『長持ちする』Webページになる」と断言していた。ところが、あっけなくXHTMLがこの先使用できなくなってしまうと、「田所使えねー」ということになりかねず、かなり気になる問題だった。

そんな折に、“Misunderstanding Markup” 日本語訳という記事に触れて、だいぶすっきりした。

僕自身、いろいろ誤解があったのだが、XHTML 1 から XHTML 2 の移行というのは、現在の文法をより厳密にしたバージョンということではなく、全く一から「純潔な」文法を導入しよう、という動きだったらしい。

ちょとググってみたところ、IBMのサイトに実例が載っていた。

<body>
<section>
<h>My Web Page</h>
<p>Here is my Web page.</p>
<section>
<h>Section 1 of my Web page</h>
<p>Here is section 1 my Web page.</p>
<section>
<h>Section 1.1 of my Web page</h>
<p>Here is a subsection of my Web page.</p>
</section>
</section>
<section>
<h>Section 2 of my Web page</h>
<p>Here is section 2 of my Web page.</p>
</section>
</section>
</body>

XHTML 2 を今すぐ使うから引用。

確かにこれは、かなり大幅な大胆な変更かも。section要素というのがあり、それが入れ子状になることで段落や見出しのレベルを示している。文章の厳密な構造について考えると、確かにこちらのほうが正しいのかもしれないが、いままでのHTMLの考えに馴染んでた人たちが移行するのは大変そう。

それと比較して、“Misunderstanding Markup” 日本語訳を読むとHTML 5 の方はけっこう「緩い」規格のようだ。ノリとしては、「XHTMLの厳密さが好きなひとはそれで書けばいいし、面倒ならあんまり気にしなくてもいいよ、どっちも間違いというわけではないよ」という感じだろうか。

ただ、このマンガでも触れられてるように、HTMLを初心者に教える立場となると、圧倒的にXHTMLの構文が良いように思う。シンプルなルールで一貫性をもって全ての要素が記述されているので、教える方も学ぶ方も、変な例外を気にする必要がなくてわかりやすい。

というわけで、今後もしばらくは安心してXHTML 1 の文法を基本に授業していきます。授業資料を作りなおさなくて済んで良かった。

また、この記事を読んで衝撃を受けたのは、XHTML 1.x からHTML 5 へ移行する方法のあまりにも簡単な方法。

じゃあ、XHTML 1文書を簡単にHTML 5に変換する方法を教えようか。

このDOCTYPEを

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

こう変えるんだ。

<!DOCTYPE html>

はい、おわり。

XHTML 2はなくなるけど、XHTMLはこれからも生き続けるんだ。HTML 5の中でね。

え、それだけなの!? そして、あの長ったらしくて意味不明なDOCTYPE宣言が無くなるのは、かなり嬉しい。毎年ここで挫折してXHTML嫌いになる学生が大量発生してるから。

というわけで、このyoppa blogも実験的にHTML 5 にしてみた。FireFox、Safari、Chromeだときちんと表示されている。IEは確認してないけど、崩れたら崩れたでいいや。IEが時代に追い付いて来いということで。

Atsushi Tadokoro — 16 August 2009 14:22
お、酔っぱらって寝てる間にたくさんコメントが。 やましん > HTMLを手書きしてると、「普通、専用のアプリでしょ」って言われたりするんだけど、文章の構造を明確にして書くという意味でもHTMLを手書きするのっていい訓練になると思うんだよね。Wordだとあんまり構造考えなくてもなんとかなっちゃうから。 くぼくん > SQSって、XHTML2を使ってたのですか。先進的な技術を先取りすると、時としてこんな事態があるんだね…。いろいろ難しい。 W3CのHTML 5 の仕様、目次見だけでもかなり膨大で、圧倒されました。 http://www.w3.org/TR/2008/W...
hiroya — 15 August 2009 20:29
SQSにおけるアンケート定義データは、XHTML2をホスト言語として(入れ子状のsectionタグやhタグなども使って)、いろいろな名前空間を用いたモジュール的な構成を活かして作っているので、「XHTML2がなくなる」というのはショッキングなニュースでした…。まだ立ち直れてません。 ともあれ、HTMLという仕様は大きすぎで、その仕様を学んだり、対応するソフトウェア(エディタやレンダリングエンジン)を実装したりするのには、手間がかかりすぎで、素人にはなかなか手が出せない。名前空間を用いたモジュールのしくみが、そうした状況を変革するものと期待していたのですが、その流れが、こうして頓挫してしまったことについては、とってもがっかりしています。
やましん。 — 15 August 2009 18:23
…とかカッコ良いこと書いてみたものの、大学の時にLaTeX使ってても、文章の構造なんて全然考えてなかったです(苦笑) TeXこそ文章の構造が命なのに。クヌース先生に怒られますね(苦笑)
やましん。 — 15 August 2009 18:19
僕は今やHTMLを書くことは無いし、書くとしてもツール使うだろうから、言語間の相違は気にならないのですが、 計算機科学の教育として、言語の構造について教えるのは大事だと思います。 細かい文法が変わろうとも、構造化言語の考え方を理解していれば対応できるし、自然言語の文章を書く時にも文章の構造を考慮して書くことは重要だしね。 日本語は、構造に関してはゆるゆるなんだけど、論文とか特許とか技術文書書くときは、基本的な知識として必要かも。 しかし、Wordとか使ってると、変なインデントしたり構造なんて全く無視した整形されたり、むかつくよね。 というか、MSが批判されるところは、計算機科学に対する軽視というか冒涜と言うか、そういうのを感じさせるからなんやろね。