偉い人、偉くない人、それぞれの心構え

あちこちで話題になっている「教えて〜」の話。
その場しのぎ的な手段(物理タグとか)を教えるのではなく、「正しい」やりかたを紹介していくべきではないかとか、逆に堅苦しくなって訊き難かったり、或いは教える側の敷居が高くてごく少数の人に負担がかかるのではないか、とか。
どちらもそれなりに納得できる意見なので難しい。


HTMLについては、これまで正しい文法というものが蔑ろにされてきた。主要ブラウザーであるIEがかなりルーズな書き方でも表示してしまうので、特に意識する必要が無かったからだ。
また、初期には見栄えを整える方法が無かった反動から3.2あたりまでは「見栄えの為の要素」が蔓延し、シンプルに構造をマークアップすることの重要性が理解されなかった。だってカッコ悪いし。
これらは必ずしも悪いことばかりではない。少なくともルーズであることで一般人にとって敷居が低くなり、個人のレベルでWebページの作成が浸透したことは大きいと思う。
また、validateなHTMLへの回帰は、一度「やりすぎ」の状態を通過したからこそ発生したとも言える。
とは言え、やはりルーズな作り方が「悪い方法」であることに代わりは無い。明確に構造化されていない文書は的確な利用を妨げる。


実のところ、validateなHTMLは物理要素バリバリの「汚い」HTMLより簡単だ。難しいのは多分CSSの方。
だったら、プリセットされたCSSがあれば(そしてそれらが物理要素の効果を殺すように設定されていれば)、HTMLはもっと簡単になり、もっと利用しやすくなるのではないか。大きく表示する為に見出しタグを使うより、strong class="large"*1を使う方が巧く行くようになればいい。


はてなに限って言えば、吐き出されるソースは概ねvalidateだから、そうでない要素はユーザーが自分でヘッダーやフッターに書き加えたか、本文中に埋め込んだものに限られる。
だから、質問の殆どはCSSに関するものだ。これが結構難しい。基本的に、HTMLの仕組みがきちんと理解できていないとCSSは理解し難い。
だから、初心者向けには例えばテーマファイルを基本的なモジュール利用のヴァリエーションを想定して構成し、ヘッダーとフッターの書き方だけを説明したマニュアルを付けるようにすると良いんじゃないかと思う。
そうすれば、質問は自ずともっと高度な部分に限られるし、そこまで手を出す人には逆に回答も多少敷居が高いくらいのほうが良い。


教えられる側は、この仕組みを短絡的な「目の前の問題を解決する便利な手段」として受け取るのではなく、そこから学んで、いつかは教える側に立って欲しいと思う。Webの基本理念的なGive&Take、与えられた分を他の誰かに。

*1:こういう「物理的」クラス名はスタイルシートの差し替えのときに問題が出るけれど、中にはスタイルと無関係に指定したい物理的な要素というのもあるんじゃないかと思う。
あ、big要素ってまだ使えるんだっけ?