ベスト・プラクティスは多くの人には固定的なものだ。しかし本来は流動的なもので、革新者によって大きな変化が起きる。ウェブ制作におけるベスト・プラクティスも変化しており、その過程でいくつも失われていった。
ウェブ制作においては、技術革新の多い世界であることと、他の世界の変革に対応しなければならないことから、よりいっそう変化が速いとも言えるだろう。だからといってベスト・プラクティスが意識するに留めておけば良いという程度のものというわけではない。例えば<!DOCTYPE html>
について考えてみよう。
<!DOCTYPE html>
これはHTML5が産声を上げた時期に先駆者である人々が編み出した魔法の言葉だ。これによりほとんどすべてのブラウザーでウェブ標準に準拠した形でHTMLが表示されることが保証される。つまり個々のブラウザーで大幅に違う挙動になることはなくなり、予期せぬ問題の発生を大幅に低下させることができる。と同時にそういったことの解決に割く時間を大幅に減らすことができるというわけだ。
このようにベスト・プラクティスは効率化の手法ではあるが、それは結果の効率化だけではなく、過程の効率化にまつわるものでもある。
<meta charset="UTF-8">
HTML5黎明期にはもうひとつ魔法の言葉が生み出された。それは<meta charset="UTF-8">
だ。この短いフォーマットのタグを書くことでウェブページの文字エンコーディングを指定することができる。あてにならないブラウザーの自動判別機能に依存しなくて済み、文字エンコーディングが正しく解釈されない問題を解決できるというわけだ。
これの元となったmeta
要素による文字エンコーディング指定そのものは古くからベスト・プラクティスとして存在するものだ。特に日本では3種(Shift_JISとEUC-JP、ISO-2022-JP)が使い分けられていた事情もあり、強く意識されまた使われてきた。しかしこの文字エンコーディング指定にはもうひとつ忘れてはならない書き方がある。それはなるべく先頭に書くこと、だ。
なるべく先頭に書くことにより、英数記号以外の文字がこの指定より先に来ることがなくなる。そういった文字列が文字エンコーディング指定より前に来ると、ブラウザーの自動判別機能がうまく動かなくなることがあるという事情から、そう書くこともベスト・プラクティスとなっていた。
最近のブラウザーでこの魔法の言葉の位置により自動判別機能が狂うということは考えづらい。しかしあえて先頭に書かないという強い理由も見つからない。ページのメタデータではあるが、ページの振る舞いを決定するものとも言えるので、<!DOCTYPE html>
と同じように先頭に書くのが安心だろう。
文字エンコーディングの指定そのものは失われてはいないが、先頭に書くというベスト・プラクティスは失われつつあるような印象だ。Facebookのいいね! ボタンで使われるOGPやTwitter Cardsで使われる謎のメタデータ記述法などによりmeta
要素を利用する頻度が増えたため、それらと一緒にまとめて置かれることが増えた結果なのではないかと想像している。
一方でscript
要素のtype
属性のようなほぼ疑いなく失われて良いものにも拘らず、まだよく使われているベスト・プラクティスもある。
これら様々な昔からあるベスト・プラクティス達を体系立てて、失われて良いものかそうではないかを判別することは難しい。失われたことはすなわち必要なくなったわけではなく、失われていないことはつまりまだ必要なわけでもない。それぞれがどうしてそうなっているのか歴史を振り返りながら今に最適化する必要があるだろう。