Re: HTML 5 におけるルビの rb タグについて

少し話がそれてしまいますがひとりの制作者の考えとして、以下のようなことを思っております。

私は仕事として Web でのフロントエンド実装を行っている者なのですが、
実際の Web 制作で rb がないことで少しだけ困ったケースがありました。

rb に該当するテキスト「のみ」、フォントフェイスやフォントサイズを変えるといった実装があり、
その際、

ruby{
font-family:***:
font-size:200%;
}
ruby rt{
font-family:規定の書体;
font-size:50%; /*200%をもとに戻す*/
}

のようにCSSのコードを記述しました。
ルビベースのスタイルを変えたいだけなのに
rt をわざわざ規定の値に戻すためのコードを書いたわけです。
上記のケースは
<ruby><span>漢字</span><rt>かんじ</rt></ruby>
のような実装にすればいいのかもしれませんが...。

同様にルビベースのみにスタイルを適用したいケースとしては、
漢字が苦手な閲覧者がユーザースタイルで
ルビベースのみをdisplay:none;にし、rt のみを表示したい場合なども考えられます。

また、rubyは、必ず漢字などの「上に小さいテキストが表示」されるつかいかたがされるとも限らないはずです
例えば
「about us -- 私たちについて...」
のように「インラインでベース+アノテーションが表示された見出し」かつ、柔軟にCSSを適用したい場合など
表示にとらわれず広くrubyが利用できるようにするためにも、rb は必要だなと感じています。


2011年1月2日12:34 Koji Ishii <kojiishi@gluesoft.co.jp>:
>
> > > ●DOM/XPathで被ルビ文字を指定できない
> >
> > これは出来たりしません?
> >
> > //ruby/text()
> >
> > [1]なんかも使えますね?
>
> <ruby>漢字<rt>かんじ</rt></ruby>
> ならそれで動きますが、
> <ruby><abbr>漢字</abbr><rt>かんじ</rt></ruby>
> はだめですよね。ループ回して、rtとrpを取り除く、という処理をすればもちろん可能ですが、被ルビ文字をセマンティクスとして持たない、というのは、そういうことだと思うんです。セマンティクスがないのでハックすることになり、将来タグの追加があっても同じ処理をするコードを書けなくなる。
>
> > ルビ基底テキストを表示せずにルビ
> > だけを表示するのはどうかと思い
> > ましたが、簡単に出来そうですね。
>
> できますか? CSSで被ルビ文字を指定できない以上、できないのでは?
>
> > ルビ基底テキストから辞書を引いて、
> > ルビテキストと比較するのも考え
> > ましたが、これも簡単に出来そうで
> > す。
>
> 複数rtのケースではできないのでは?
>
> > 一般に、徹底的にマークアップしようとすると、
> > どんどん重くなるし、どこまでやっても終わらない
> > し、ユーザが使い分けられなかったりします。
> > rbもその類いだと言われたら、結局は水掛け論かも。
> > そして、基底テキストがrbで囲まれることも、囲まれ
> > ないこともあるというのは、却って実装への負担に
> > なると思います。主張するなら、必ずrbを使えという
> > ほうが良いかも。
>
> これは台湾でElikaが言っていましたが、tbodyの例があります。あれは、省略されていたら、DOMに自動的に挿入することが規定されている。
>
> もちろんrb必須でも私は構いませんが、そうですね、どちらが通りやすいでしょうか。オプションとして投げる価値はありそうですね。
>
> セマンティクス的に言えば、少しでもタグを減らしたいなら、藤島さんのおっしゃるようにrubyタグを失くしても、rbを失くしてはいけない気がします。概念上、ルビと被ルビを一緒に指定するセマンティクスはないけど、被ルビを指定するセマンティクスは存在します。
>
> それにしても、CSSを拡張すればいいじゃん、と言われてもそれにまた数年かかりますから、バージョン一つで「エラー」に扱うのはずいぶん乱暴な感じがします。<u> もvalidation通らないように、としていて、これは<u>をセマンティクスとして使ってきてしまった中国から反発が起きているようです。この問題は長引きそうだなあ、というのはその辺から感じています。
>

Received on Sunday, 2 January 2011 08:50:28 UTC