ウェブサイトいうのは基本的にはHTMLという言語で書かれたテキストで構成さ れているのだが、そのテキストの作成方法には大きく分けて自動生成ツールを 使うという方法と手書きで入力するという方法がある。
大昔にはツールというの存在しなくて、人が手でソースを書くというのが当然 だったわけだが、その後ホームページビルダーのようなWYSIWYG(死語?)的な ツールも使われるようになって、最近だとCMS的なものを使ってサイトを構築す ることも多いと思う。
だが自分用のちょっとしたサイトを作るのにそんな大それたものを使いたくな いし、たいした量のない自分のサイトくらい自分で把握していたいと思う人も 少なくないと思う。そういうちょっとしたツールのプログラムを書くのにRADは 使わないというような考えの人なら、HTMLも手書きで書こうかなと思うのでは というお話。
前置きが長くなったが、そういう背景でHTMLを書こうと思ったときに、どうせ なら新しいバージョンの規格に従って書くのがモチベーションもあがっていい と思う。HTML4.0は無難かもしれないが、今ならXHTML、それもバージョン1.0じゃ なくて1.1と思って少し調べてみた。
まず思うのは、HTMLとXHTMLって違いはいったい何なんだということ。仕様を全 部読むのも不可能ではないが、@IT に 簡単な比較があったのでそれを参考にする。ただしこれは多少昔の記事で ある。細かくは色々と違いがあると思うが、基本的には大きな違いはないと思 う。特にわざわざ手書きでHTMLを書こうという人にとっては、最初のおまじな いが必須であるとか、タグは小文字で書くとか、要素は引用符でくくるとか、 開いたタグは閉じるとかは言われなくても実行しているくらいではないだろう か。要素が空のタグの閉じ方が目新しいかもしれない。「<br>」は 「<br />」と書くことで閉じることができる。
バージョンの違いについてもいろいろ検索してみると、1.1は厳格なので問題に なる場合もあるようだ。例えばContent-TypeがHTML4.0で推奨されていた text/htmlが非推奨になり、application/xhtml+xmlが推奨になっているが、実 際には多くのウェブサーバはHTTPレスポンスでtext/htmlを返していたり、IEが 対応していなかったりなかなか難しいようである。しかし、ここは自分用の ちょっとしたサイトということで、あまり細かいところは気にせず、新しい XHTML1.1を使っていくことにする。
実際に書いたHTMLが正しいかどうかをチェックしてくれるサイトとしては、 Another HTML-lintというのが有名らしい。仕様とにらめっこしながら書くよりは、 ここでチェックして文句を言われたところを修正する方がお手軽だろう。ただ し、ここのチェックはかなり厳しい。オプションで軽度なチェックや宗教的な チェックはオフにするのがいいと思う。それでも十分厳しいかもしれないが減 点の少ないエラーは無視してもいいかもしれない。
ここのチェックを使ってて気がついたのは、厳密にはbodyタグの中にはinline 要素は書いてはいけないということである。これはなかなか盲点だと思う。例 えば、bodyタグの中に直接文章が書いてあったりしたらだめなのだ。
