Re: モノルビの実現における懸念、ルビの親文字のみを取得する場合の懸念

こんにちわ。羽田野です。

On Wed, 2 Dec 2009 22:31:45 +0900
akihiro oyamada <yomotsu.net@gmail.com> wrote:

> 1.モノルビを実現する上での懸念
> 
>   モノルビを実現する場合には
> 
> 
> <ruby>漢<rp>(</rp><rt>かん</rt><rp>)</rp>字<rp>(</rp><rt>じ</rt><rp>)</rp></ruby>
> 
>   のようなコードが例として示されていますがこの例では
>   漢字の熟語がばらされてしまいます。
> 
>   これは、現状の実装を優先する上ではしかたがないことなのでしょうか。
>   この場合、ルビの親文字同士とルビの子文字同士を紐付けるような仕組みの
>   説明があるとよいのではないかと考えています。

マークアップ上、"漢" と "字" がバラバラに見えるのはやむを得ないと個人的には感じています。
ただ、これはあくまでも、マークアップを人が見て感じるものでしかありません。
"漢" も "字" も、ruby 要素の直下のテキストノードになります。
そういう意味では、バラバラになっているわけではないと見ることができると思います。
ユーザーエージェントから見れば、ruby要素の子のうち、直下のテキストノード以外のものを
取り除くだけで、ベーステキストが取得できますので、さほどネックにはならないのでは
ないかと思っています。

いろいろ代替案を考えてみても、やはりこの形が一番シンプルな気がします。
もちろん、もっと複雑にして、ルビをより汎用的にするという話もあるとは思いますが、
少なくとも、HTML5が想定している「ふりがな」を目的とするのであれば、これより良い案が思いつきません。

あと、ベース文字とルビ・テキストの関連性についてですが、暗黙的ではありますが、
すでに、順番をもって、関連が表現されているのではないかと考えています。
もし直接的に関連性をマークアップするべきというのであれば、新たなコンテンツ属性を考えるか、
別の要素を導入してネストするなどの方法が必要です。
個人的には現状は必要性を感じてはいませんが、もし直接的な関連性をマークアップしなければ
いけないようなケースがあれば、検討していきたいですね。
特に、スクリーン・リーダーや音声ブラウザーの利用を想定した場合、現状で問題がないのか、考えた方が良いかもしれません。
このあたりのアクセシビリティに詳しい方のご意見が、ぜひ聞きたいですね。


> 2.ルビの親文字のみを取得する場合における懸念
>   ルビの親文字のみに CSS を適用させたい場合、ルビの親文字を明示させてして必要がありますが
>   XHTML 1.1 の Ruby Annotation でいう rb 要素がないため、これが難しいのではないかと感じています。
> 
>   例えば、振り仮名つきの漢字混じりのテキストにおいて、
>   漢字部分のみの表示を消し、ひらがなだけを表示したい
>   といったようなユーザスタイルシートの実現が難しいのではないか考えています。
> 
>   rb 要素は必要ではないでしょうか。
>   (現状の IE では rb 要素はうまく機能していないようですが...。)

直接的な解決方法ではありませんが、こんな形で対処できないでしょうか。

<style>
 ruby { color:blue; }
 rt { color:black; }
</style>

<p><ruby>漢<rp>(</rp><rt>かん</rt><rp>)</rp>字<rp>(</rp><rt>じ</rt><rp>)</rp></ruby></p>

この例ですと、 ruby { color:blue; } で、ベース文字だけでなくルビ・テキストまで
青色になります。それを、 rt { color:black; }で、元に戻すってやり方です。
一応、IE8, Chrome4 でも期待通りにスタイルされました。

スタイリングの事情だけのために新たな要素の導入を提案するのは、厳しいかもしれません。
rb要素がセマンティクスとして必須となるケースを考える必要がありますね。
今のところ思いつかないのですが、私も考えて、思いついたら投稿しますね。


--
Futomi Hatano
http://www.html5.jp/
http://www.futomi.com/
http://twitter.com/futomi

Received on Thursday, 3 December 2009 06:24:50 UTC