いつの間にか2009年になってしまった。
IE6に気を使わなくてもいい理由とか「そういう系」 の話を聞くと、なんで非営利個人サイトが自分の嫌いなウェブブラウザなんかに一々気を遣わなきゃならないんだとか思う。もちろん気を遣うのには色々理由があるだろう。だが「気を遣わなくてもいい理由」というのもあっていいんじゃないか。そう思ってだらだらと悪文を書いてみた。本当に悪文だからまとまりはないよ。
この文脈においてはウェブブラウザではなく、所謂レイアウトエンジンやHTMLパーサの種類を把握すべきだろう。たとえばSleipnirもfubも、同じMSHTML.dllを利用しているなら一つとしてカウントできる。
レイアウトエンジン等の名称 | 主なバージョン(2009年1月現在) | 応用しているプロダクト他 | |
---|---|---|---|
MSHTML(Trident) | 4.0系, 5.0系, 5.5系, 6.0系, 7.0系, 8.0系(系統別に多数あり) | Internet Explorer(Windows版)、IEコンポーネントブラウザ各種 | |
Tasman | 未調査 | Internet Explorer 5 for Mac | |
Gecko | 1.9.1まで多数あり | Firefox他のMozilla系ブラウザ | |
KHTML | 未調査 | Konqueror、KHTMLはWebkit他のレイアウトエンジンのベースにもなっている | |
GtkHTML | 3.0.10 | Evolution他GTK+アプリケーション | |
WebKit | r12084~r39572まで多数あり | Safari, Epiphany, Google Chrome, Omni Web, Adobe Dreame Weaver CS4, Adobe Air他 | |
Presto(Opera) | 2.2まで | Opera(7以降), Nintendo DS Browser, Internet Channel(Wii)他 | |
iCab | 未調査 | iCab 1-3 | |
Prince XML | 未調査 | Prince XML(CSS対応レンダリングエンジンを搭載したPDF変換プログラム) | |
Boxely | 未調査 | AOL Explorer、他AOL系ブラウザ | |
NetFront | 未調査(多数の系統あり) | i-mode、 PSP、Dreamcast他 | |
NetSurf | 未調査 | NetSurf | |
Gzilla | 未調査 | 製品未調査(Gzilla is a web browser written in the Gtk+ frameworkとのことなので個人開発は多数ありそう) | |
Tkhtml | 未調査 | Hv3などのTkアプリケーション | |
HTMLayout | 未調査 | 参照:HTMLayout - Wikipedia, the free encyclopedia | |
Links | 0.80~0.99まで多数あり | Linksの他、 応用したELinks、Links(2)、Links Hackedがある | |
Lynx | 2.8.6まで | Lynx | |
w3m | 0.5.2まであり | w3m、w3m-mee |
この他にもいくつかあるが、無名なアプリケーションしかないものは除外した。Javascriptエンジンはまた別だったりする場合がある。また、スクリーンリーダーもここでは除外している。要するに、HTMLをパースする(そしてレンダリングする)ソフトウェアは、数えきれない。
こんなものに一々一々気を遣っていられない。実際に「気遣い」できるのは本当に極一部の、メジャーなブラウザだけだろう。そのメジャーなブラウザだって1年や2年で変化していくのだから、気を使う「必要」はないだろう。とりあえずHTML文書が壊れていないことを確認すれば、あとはソフトウェアが適当に処理してくれるのを信じるしかない。何かとバグがつきもののCSSだが、凝ったことをするのなら、自分が確実に確認できるレンダリングエンジンに対してのみ適用されるような配慮をすればいい。
極論すれば、CSSやJavascriptなんか使わなければブラウザに気を遣う必要は激減するわけだ。これは「すっぴん」で公開しろと主張するわけではなくて、先述したとおり、自分が確実に確認できる、あるいは確認するレンダリングエンジンに対してのみ、CSSやJavascriptが有効になるような配慮をすればいい。そういう配慮が不可能なレンダリングエンジンに対しては、「すっぴん」でいいんじゃないかと。
私の場合、UTF-8を扱えないソフトウェアを完全に蹴るという政治的判断はあるものの、それ以外の部分では上述したような方針を取ってできる限り互換性を追求したいと思っているので、いつかやると思う。