私は閲覧者のために文書を公開しているわけではありません。「文章を書きたいという欲求がありながら、自分しか読まない文書は書けない」のが私の悩みで、それゆえに読者を必要としているのです。必要な読者数は既に確保したので、これ以上、読者を増やす必要はない。だから、現状以上の「サービス」はしません。
私の妥協ラインとしての JS 経由の CSS 提供は、他の方には勧めません。優先スタイルシート(link 要素)→代替スタイルシート(link 要素)→JS 経由(script 要素)という経緯を振り返るに、閲覧者の増加に対応して、だんだんサービスを後退させていったことが見て取れます。しかしたいていの方にとって閲覧者は増えて困るものではなく、あえて増加をセーブする必要はないでしょう。
Opera を差別する意図はありません。Opera では JS 有効でも製作者スタイル不提供となりますが、それは現状の Opera のエンジンに不備があるため。Opera6 で表示が崩れるという問題が Opera7 で解消されたように、Opera9 では JS が機能するかもしれない。それまではユーザジャバスクリプトで対応してほしい。
JS 無効なら全ブラウザ共通で製作者スタイル不提供なのだから、切り捨てられたOpera
という批判はズレています。私は当サイトを「啓蒙可能な相手は啓蒙する」「啓蒙できない相手は、将来に期待してつなぎとめる」という2正面戦略で運営しており、新スタイル追加のお知らせは後者に向けたもの。後者に属す Opera ユーザにはユーザジャバスクリプトの案内を出しています。また、前者に属する方はぜひ2正面戦略をご理解いただき、後者向けのお知らせをスルーしてください。
ちゃんかずさんや「ユーザジャバスクリプトの利用を拒否し、ブラウザのデフォルトスタイルよりも私が作る製作者スタイルの方が閲覧に便利だと思う Opera ユーザ」の野嵜さんは、たしかに私に「切り捨てられた」閲覧者だから、不満があることは理解できます。ただ、これほどの怒りのエネルギーをお持ちなら、私が紹介したユーザジャバスクリプトを使ってみてほしい。もう二度と徳保の記事なんか読まない、というならともかく、先々のことを考えたら、ひと手間かけてもよいのでは?
doil さんの掲示板に投稿した内容を再整理して転載。
自己満足云々は甘受しますが、ユーザスタイル云々については少し意図が伝わっていない部分があるように思うので、補足します。
根本的に「デフォルトスタイルが自分好みでないブラウザをなぜ選ぶの?」という疑問があるのです。けれども、現に IE だの Firefox だのを使っている人々の大半は、デフォルトスタイルが好みでないのに、それらのブラウザを使うのをやめる気がなく、ユーザスタイルシートの機能も使う気がないらしい。そのため、文書構造だけをマークアップした HTML 文書を製作者スタイル抜きで提供すると、「読みにくいから」と読者が減ってしまう。それは嫌なので、仕方なく製作者スタイルを提供しているのです。新しいスタイルを追加しましたよ、というのも、ご機嫌取りの情報でしかありません。
かくいう私も、デフォルトスタイルが自分好みのブラウザは発見できませんでした。次善の策として、ユーザモードが充実している Opera を使っています。ユーザスタイルシートを常用していると、製作者スタイルシートなんてのは、邪魔っけなものです。ない方がいい。class や id が指定された要素の製作者スタイルは、ユーザスタイルで上書きしない限り存続します。固定あるいは優先スタイルシートについて、これは W3C の勧告書に記載されている通りの動作で、IE のユーザ補助機能でユーザスタイルシートを適用しても、製作者スタイルは無視されないのはそのためでしょう。なお Opera には全ての製作者スタイルを無視してユーザスタイルのみ適用する独自機能があります。
JS 経由で CSS を提供するのは、二重の意味で安全です。JS がきちんと動作すれば JS の機能として製作者スタイルを無効化できますし、JS が動作しなければ製作者スタイル不適用となります。製作者スタイルを確実に無効化できる環境を整えた上で、現時点ではやむなく製作者スタイルを提供せざるを得ない相手には提供する、その方法としての JS 経由なのです。なお現状の Opera で私の提供する JS が動作しないのは、Opera のスクリプトエンジンが document.styleSheets をサポートしていないためです。
(増補改訂:2006-01-05)