-
Notifications
You must be signed in to change notification settings - Fork 4
/
629.txt
197 lines (152 loc) · 6.32 KB
/
629.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
[3] [[HTML]]
の
[DFN[[CODE[rt]]]]
[[要素]]は、
[[ルビ文字列]]を表します。
* 仕様書
[REFS[
- [17]
[CITE@en-US-x-hixie[HTML Standard]], [TIME[2022-02-22T17:07:09.000Z]], [TIME[2022-02-23T06:01:50.804Z]] <https://html.spec.whatwg.org/#the-rt-element>
]REFS]
*
[4]
:[[名前空間]]:[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] (>>7)
:[[局所名]]:[CODE(HTMLe)[[[rt]]]]
:[[開始タグ]]:必須
:[[終了タグ]]:省略可能 ([[HTML]])、必須 ([[XHTML]])
:出現できる文脈:[CODE(HTMLe)[[[ruby]]]]
の子供かつ [CODE(HTMLe)[[[rb]]]] の弟として高々2個、
[CODE(HTMLe)[[[rtc]]]] の子供として1個以上
:[[内容模型]]:[CODE(SGMLe)[%[[inline]]]]、但し
[CODE(HTMLe)[[[ruby]]]] を除く
* 属性
[FIG(short list)[ [14] [CODE[rt]] [[要素]]の[[属性]]
- [[大域属性]]
[HISTORY[
- [CODE[rtspan]]
]HISTORY]
]FIG]
* 例
[8] [[WinIE]] というか [[MSXML]] は
[[XML名前空間]][[勧告]]にまともに対応していないので、
色々と不思議なことが起こります。 [[XML]]
[[文書]]を [[WinIE]] で[[レンダリング]]させるに当たって、
単に [CODE(HTMLe)[[[ruby]]]] 要素以下の[[名前空間URI]]
を [CODE(XMLa)[[[xmlns]]]] [[属性]]で
[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]]
に指定したところで、 [[XHTML]] の[[ルビ]]としては扱われません。
しかし、
[PRE(XML example code)[
<html:ruby xmlns:html="http://www.w3.org/1999/xhtml"
><html:rb>基底文</html:rb
><html:rt>ルビ文</html:rt
></html:ruby>
]PRE]
のように[[名前空間接頭辞]]を [CODE(XML)[html]]
にすれば、 [[WinIE]] は [[XHTML]]
の[[ルビ]]と理解してくれるようです。
もちろん [CODE(XMLa)[xmlns:html]] [[属性]]があるので、
[[名前空間整形式]]になります。
[[#comment]]
** 不思議解釈
[1]
間違って [CODE(HTMLe)[[[rt]]]] の中に [CODE(HTMLe)[[[rp]]]] を入れてしまった文書が世間には存在しているようです。
([[名無しさん]] [WEAK[2005-02-23 06:32:14 +00:00]])
[[#comment]]
** 関連
[7] '''名前空間URI''':
[[ルビ]]モジュールは [[XHTML]] で使われることを主に想定していますが、
特に [[XHTML]] に限定されているわけではありません。
[[XHTML 1.1]] で使う時には[[名前空間URI]] は
[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] になりますが、
これは[[ルビ]]モジュールの規定ではなく、 [[XHTML 1.1]]
の規定に基づきます。他の[[ホスト言語]]、例えば
[[XHTML 2.0]] では[[名前空間URI]] は
[CODE(URI)[[[http://www.w3.org/2002/06/xhtml2/]]]]
になっています。
* 改行
[15]
稀に[[ルビ文字列]]に[[改行]]が入ることがあります。
[SEE[ [[ルビ]] ]]
[18]
[CODE[rt]]
[[要素]]の[[内容モデル]]は[[語句付内容]]なので、
[CODE[br]]
[[要素]]を使うことができます。
[SRC[>>17]]
[19]
また[[改行]]をそのまま書いて、
[[CSS]]
[CODE[white-space:pre]]
等でそれを表示に反映させることもできます。
[16]
[[Chrome]]
では、
[CODE[br]]
でも
[CODE[white-space:pre]]
でも[[改行]]が通常通りに反映されて表示されます。
[TIME[2022-02-23T06:03:58.600Z]]
[20]
[[Firefox]]
は
[CODE[br]]
[[要素]]の[[改行]]も、
[CODE[white-space:pre]]
の[[改行]]も、
[[改行]]として表示してくれません。
[TIME[2022-02-23T06:06:07.800Z]]
[22]
ほとんど[[バグ]]と言って良いであろうこの不可思議な挙動は、
驚くべきことに
[[CSS]]
の[[仕様書]]にそうしろと書かれています。
[SRC[>>21]]
[23]
[[HTML]] の構文上まったく正当な [CODE[br]] [[要素]]の存在を無視したり、
[CODE[white-space:pre]]
の挙動を他のほとんどの場合と違う特別扱いを要求したり、
この[[仕様書]]の規定は常軌を逸していると言わざるを得ません。
[[Chrome]] がそれを完全無視しているのも頷けます。
[REFS[
- [21] [CITE@en[CSS Ruby Annotation Layout Module Level 1]], [TIME[2022-02-23T05:18:57.000Z]], [TIME[2022-02-23T06:06:01.697Z]] <https://drafts.csswg.org/css-ruby/#anon-gen-unbreak>
]REFS]
* 実装
[13]
[[Firefox]] は[[ルビ]]を含む文字列を[[コピー]]しても、
[CODE[rt]] の内容をコピーしません。
その実装の関係なのか、 [CODE[rt]] の中身だけを選んで[[コピー]]すると、
何も[[コピー]]されないことがあります。
微妙な選択範囲の違いが何かあるのか、
[CODE[rt]] の中身全体を選択したつもりでも、
[[コピー]]されるときとされないときがあって困りものです。
[TIME[2021-03-20T08:58:56.200Z]]
* 歴史
[5] この[[要素型]]は [[WinIE 5]] で最初に実装されました。
[6] [[Gecko]] 系[[レンダリング・エンジン]]で[[ルビ]]を解釈するための
[[XHTMLルビサポート]]という拡張ソフトウェアがあり、
[CODE(HTMLe)[[[rt]]]] 要素型も実装しています。
[2] 仕様書:
- [CITE[Ruby]] <http://www.w3.org/TR/1999/WD-ruby-19990322/#a2-3>
-- [[HTML]], [[単純ルビ]]
-- [[W3C]] [[作業原案]] ([[規定]])
- [CITE[Ruby]] <http://www.w3.org/TR/1999/WD-ruby-19990924/#ruby-sgml>
-- [[HTML]], [[複雑ルビ]]
-- [[W3C]] [[作業原案]] ([[参考]])
- [CITE[Ruby Annotation]] <http://www.w3.org/TR/2001/REC-ruby-20010531/#rt>
-- [[XHTML]], [[複雑ルビ]]
-- [[W3C]] [[勧告]]
- [CITE[Ruby Annotation]] <http://www.w3.org/TR/ruby#rt>
-- 最新版
[9] [CITE@en-US[Internationalization Tag Set (ITS) Version 1.0]]
( ([TIME[2007-04-03 09:11:18 +09:00]] 版))
<http://www.w3.org/TR/its/#selection-local>
[10] [CITE@en[Web Applications 1.0 r7611 Update rt/rp sections to match newer ruby section.]]
( ([TIME[2012-12-30 13:21:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7610&to=7611>
[11] [CITE@en[Support rb and rtc elements in the parser (ruby) · whatwg/html@8d1c8af]]
([TIME[2015-11-11 20:57:50 +09:00]] 版)
<https://github.com/whatwg/html/commit/8d1c8affec71058de29f8051cb2fa7f7bbad1fe6>
[12] [CITE@en[innerText: include parentheses around <rt> if there's no <rp> · Issue #1801 · whatwg/html]]
([TIME[2016-12-04 11:34:49 +09:00]])
<https://github.com/whatwg/html/issues/1801>