ルビ用CSSについての将来的な理由

以前に書いたルビ表示はユーザスタイルシートで!の記事について、黒田英夫さんからのコメントで、

IEと共通でルビ表示するには、xhtml1.1を使用し、本スタイルシートで「>」のないセレクターの先頭に「html>body」を付ければOKです。

という意見を頂いていました。趣旨としては「IEでルビ用CSSの適用を避けられれば、製作者スタイルシートとして利用しても問題無いのでは」ということと思います。しかしながら、ユーザスタイルシートとしての利用を勧めている理由はIEでの表示以外にもありますので、そのことを記しておきたいと思います。

* * *

先の記事でも少し触れましたが、ルビの表示スタイルの仕様としてはCSS3 Ruby Moduleが策定されています。将来的には、ブラウザでもこの仕様に従ってルビ表示が実装されると考えられます。

しかし自分が書いたルビ表示用のスタイルは、あくまでCSS2の仕様の範囲で、擬似的にルビのような表示を実現したものでしかありません。そして将来、CSS3 Ruby Moduleに従ってルビ表示が実装されたブラウザが出現した時、そのブラウザでCSS2擬似ルビ表示スタイルが製作者スタイルシートとして利用されたページを閲覧すると、両方のスタイル指定が入り混じって表示崩れを起こすことになるでしょう。

もしそのような事態になったら、ユーザとしては「CSS2擬似ルビ表示を打ち消すためのユーザスタイルシート」でも使って対抗するしかなさそうですが、自分としてはそのようなトラブルの種を残したくはありません。

CSS2による擬似ルビ表示スタイルは、もともとはルビ表示を実装していないブラウザのための手段として考えたものですので、ページを閲覧する全てのブラウザに影響を及ぼす製作者スタイルシートとして利用するより、ユーザ自身のブラウザのみに影響が及ぶユーザスタイルシートとして利用する方が、より安全だと考えます。