バリデーションツールの便利さはあると思う。でも、あのほめ言葉は、外交辞令。

hatenaスターじぶんでつけてしもた...

W3c htmlバリデーションサービスやhtmllintは、一定のドキュメントタイプに沿って記述されているかどうかを、調べるツール。
調べて、指摘するだけなので、間違っていれば、直すのは自分。
 Htmllintは、プライマリサイトだけでなく、いろんなサイトで、運営している。

Google検索で、1位なのが、慶応のサイト。最近、プライマリサイトでは、グーグルの広告がついた。

前出の慶応は世界3箇所のW3拠点のひとつ。Htmlの検証ツールは、htmllint以外にもある。


W3本家のソースを見ると、
<meta name="generator" content="HTML Tidy for Mac OS X (vers 1st March 2004), see www.w3.org" />などから見ると、HTML Tidyを使っている。

他にも、htmlオーサリングツール [ex:DreamWeaver(adobe)]などにも、html検証ツールが装備されている。
最近では、Firefoxでは、tidyを使ってソースを検証することも出来る

Tidyは、コマンドライン版から、php、ブラウザのプラグインまで、「どんだけ〜」というぐらい準備されている。

 Tidyは、検証だけを行なうわけではなく。補完をしてくれる。
この補完機能は、結構便利で、たとえば、html4.01なら職人的に、バリバリテキストエディタに、頭に描いたレイアウトをタグに変換して入力できるような人が、xhtmlのドキュメントを、おんなじ感覚で、入力してもきっちり補完してくれる優れもの。


でも、「これって、どうなのよ?」といわれれば、

htmlの検証ツールといっても、オプションの設定や、設定の問題かどうかわからないけど、検証結果に差異が生じる。
厳密にどうなのかは、理解不足もあると思いますが、
 したがって、Web標準準拠といっても、何にどの程度準拠しているか、理由などが必ずしも明確ではない。(使い方のわからない私のようなものには、)

間違いなく言えるのは、機械的な、チェックしかやっていないし出来ない。という事。

DIVタグをマトリョーシカのように、入れ子に配置しても、文法的に間違っていなければ、バリデーションは、文句を言わないし、TIDYだって補完を続行するだろう。
ましてや、ソコントコ、見出し、つけないとだめだよなんてアドバイスもしない。

また、w3cのドキュメント型でも、非推奨タグなんてのがあって、使っていいのか悪いのか、グレーゾーンみたいなものもある。
なぜ、Bは非推奨で、STRONGは、問題がないのか、私は、理解できるようになるまで時間がかかった。


HTMLLINTでは、このように解説しています
文字フォント修飾のタグには、物理的なものと論理的なものがあります。物理的なものというのは、太字の <B> のように直接的なもので、論理的なものというのは、強調の <EM>という意味的なものです。SGMLの精神からは、なるたけ意味的な表現をするように心がけましょう、といったところなんですが、なかなかそうもいきませんね。WAIでも使わないように薦められています。この警告は減点されません。

この考え方から行けば、クラス名やIDの命名も同じような配慮が要りそうだ。

結局のところ、文脈に見合ったタグが使用されているかなどは、とても評価できないし、

strongタグのスタイルで、font-size:small font-weight:normal等、おかしくたって、減点などしない。

(もし出来たとしたら、タグなどそもそも入力する必要もないわけで、)



だから検証ツールで100点を取るということは、形式的なこと。



では、そんなものあてにすることないということになるんだけれども、機械的にチェックするだけでも、恩恵はある。



 たとえば、XHTMLドキュメントをXML宣言付で作ろうとしたら、
HTML4.01などに比べて、形式的なミスに対して、ブラウザの挙動はデリケートになって、宣言の前に改行があるだけで、FireFoxは表示をやめる。

書き間違えたりすることはよくあるので、それらの直しをするときには、便利でいいといえる。


誰しも、これでいいんだろうか?と不安を持つ。
Htmlに関する説明は、こういう風にタグを書くと、こんな風に表示されます。みたいなのがほとんどで、それを鵜呑みにした結果。IEではうまく表示されても、他のブラウザじゃうまく表示されないページになってしまって困る経験を大抵つんでいるからだ。


 画像タグを貼りつける時に、
1.<img src="sample.png" width="100" height="100" alt="プレゼントの花の画像" />

2.<img src="sample.png" style="width:100px; height:100px;" alt=" プレゼントの花の画像" />




どちらのコーディングも正しい。両方の表現が混在していても、検証ツールは、何も警告は出さないだろうと思う。


(ごめん、lintは、サイズの属性を入れろとでたと思います。w3cは、最近直ったかもしれませんが、CSSとhtmlのシールで、片方はスタイル指定。片方は属性で指定という状態がしばらくありました。
w3cvalidは、スタイル指定をしても属性指定でも、通過。lintは、減点なしのエラー。)


 でも、どうなのか?
 

 画像が、拡縮される可能性があるなら、1の形式を選ぶだろう。
スタイルを適用できないブラウザでも、原寸で表示されることがないような配慮として、
   画像が、拡縮される可能性がないなら、2の形式を選ぶだろう。
    一括してスタイルを指定したり効率的に作業が出来る。

コーディングの作業の中で自然発生し、決定されていくのだろうと思う。


スタティックhtmlをべた打ちするだけという人は少なくて、スクリプトなどから出力することも多いと思うので、スクリプト側からの必要性として、タグを記述することもあるだろうし、もっと複雑なことが行なわれているんだろう。


「Valid html でいこう」というのは、見る人たちは、そのWebページを、快適に見ることが出来たり、コンピュータが、記述を理解することが出来たり、編集者が、ドキュメントの不具合やデザインを、快適に変更することが出来たり、 快適にするための品質の事を指している。


その100点のコスト、高く払いすぎていないか。


fireworks 等で作り始めると、とっても手間がかかってしまうように思える。
テキストエディタなんかから、はじめたほうが楽と感じるのは私だけだろうか、


 100点は、誰かが、ドキュメントを快適に見ることが出来るなんて、保障しているわけじゃなくて、ルールに従っているかどうかだけを見ている。

 バリデーションツールは便利で役立つが、バリデーションツールのほめ言葉は、外交辞令と思っておくことを勧める。