W3C home > Mailing lists > Public > public-html-ig-jp@w3.org > February 2010

Re: 互換性を持たないならrp要素もいらない/親要素を改名しちゃう?

From: MURAKAMI Shinyu <murakami@antenna.co.jp>
Date: Tue, 23 Feb 2010 14:23:11 +0900
To: public-html-ig-jp@w3.org
Message-Id: <20100223142310.11D2.C598BCD7@antenna.co.jp>
村上です。

鈴見咲君高 <szmml@h12u.com> wrote on 2010/02/23 9:00:22

> HTML5のruby要素はXHTMLのそれに対応していなくて、実際にこれを前提とした
> マークアップが意味を持たなくなる、という話が以前にあったようですが。
> 
> http://lists.w3.org/Archives/Public/public-html-ig-jp/2010Jan/0004.html

その話は、親文字に対して2種類のルビを両側に振るという特殊な場合のことで
あり、普通のルビについては従来のXHTMLのルビのマークアップがそのままHTML5
で有効です。

主なブラウザでのルビの実装は長い間IEだけでしたが、IEでも両側に振るものな
ど複雑なルビは対応していません。HTML5 のルビの仕様は、IEのルビの実装に合
わせたものになっています(IEではrbタグは無視されています)。

日本語組版でのルビとXHTMLとHTML5でのルビのマークアップの例が次のところに
まとめられています。参考になるかと思います:
http://www.w3.org/International/datespace/2010/02/jlreq-examples/index.html

> 
> まず前提として、rb要素相当部分をただのテキストノードにするのは仕様上認め
> られていない(後方互換性のための情報としてのみ提供されている)のを確認した
> 上で。
> 
> http://www.w3.org/TR/ruby/#compatibility
> http://www.asahi-net.or.jp/~sd5a-ucd/PR-ruby/index.html.ja.sjis#compatibility

「歴史的な理由により、rb要素の開始タグ及び終了タグを抜かしてルビマーク付
けを生成するようなオーサリングツールがあるかもしれない。」
「前者のマーク付けは、本仕様には適合しない。しかしながら、こうしたオーサ
リングツールが生成した文書との互換性に気を使うユーザエージェントは、前者
のマーク付けを後者のように書かれたものとして扱ってくれるであろう。 」

と「後方互換性のための情報」が書かれているのですが、現実は、ブラウザで
rb要素が実装されず、HTML5仕様はその現実を受け入れたものになりました。
この Ruby Annotation 仕様のほうが、将来修正されることになる、あるいは、
HTML5 のルビ仕様に取って代わられるのでないでしょうか。


> 1) 互換性を持たないのなら…
> 
> 
> 1-a) rp要素がなくても正しくレンダリングできるように規定すべきでは?
> 

HTML5にもrubyにも対応していない古いブラウザのために rp要素は必要です。
CSSの擬似要素で括弧を自動挿入できますが、古いブラウザではそれもできませ
ん。

古いブラウザでもそれなりに表示できるようにということは、HTML5仕様策定の
上で重視されています。


> 1-b) rubi要素(yをiにする)に改名できないか

ruby要素はすでに、いろいろなサイトで使われています。
たとえば読売新聞など、新聞社のニュースサイトでよく目に付きます(ルビに
非対応のブラウザではrp要素のおかげで括弧つきの振り仮名になりますが)。
いまさら名前を変えることはできないし意味がないと思います。


> 2) 互換性を持たせるのなら…
> 
> 2-a) rb要素は復活すべき
> 
> 現実に今できていることとの非互換はまずい。rt要素は「直前の空文字列ではな
> いテキストノードに対応すること」という規定が可能ならばそれはそれでいいの
> かもしれませんが、そんなことできるんでしょうか?

IEなどのルビ実装は、実際そうなっています。


> 2-b) rp要素がなくても正しくレンダリングできるように…あれ?
> 
> 前記1-a)のrp要素の話は互換性を維持する上でも全く問題なし?

rp要素が必要なことは前述のとおり。


> 2-c) rubyの入れ子は禁止にすべき
> 
> 利点皆無。むしろルビの理解を妨げかねない。

rubyの入れ子により、HTML5でも両側のルビや多重のルビが可能になるので、
禁止しないほうがよいと思います。
(ルビをどこに表示するかなどはCSSのスタイルで決めることです)


-- 
村上 真雄 (MURAKAMI Shinyu)
http://twitter.com/MurakamiShinyu
Antenna House Formatter:
http://www.antenna.co.jp/AHF/
Received on Tuesday, 23 February 2010 05:23:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 23 February 2010 05:23:46 GMT