-
Notifications
You must be signed in to change notification settings - Fork 4
/
352.txt
513 lines (371 loc) · 24 KB
/
352.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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
[11] [[HTML]] のほとんどの[[要素型]]で定義されている[[属性]]
[CODE(HTMLa)[lang]] は、その[[要素]]の[[属性値]]および文[[内容]]
(text content) の基底言語 (base language) を指定します。
* 仕様書
[REFS[
- [29] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-12-05 08:40:22 +09:00]] 版) <https://html.spec.whatwg.org/#the-html-element>
]REFS]
[11] この属性の値は [CODE(SGML)[%[[LanguageCode]];]] 型 ([[IETF]] の[[言語札]])
であり、[[大文字]]・[[小文字]]は区別されません。
既定値は[RUBYB[未知] [unknown]]です。
[25]
仕様書:
- [[HTML 4]]
-- [CODE(HTMLa)[lang]] 属性 <IW:HTML4:"struct/dirlang.html#adef-lang">
- [[XHTML 1.0]]
-- [CSECTION[C.7. The [CODE(HTMLa)[lang]] and [CODE(HTMLa)[xml:lang]] Attributes]]
(参考) <IW:XHTML10:"C_7">
[15] なお、ここで[[言語]]とは[[自然言語]]であって、
[[プログラム言語]]は除外されています。
(<IW:HTML4:"struct/dirlang.html#langcodes"> 参照。)
[12] この属性の値は、 [[UA]] が種々の用途で使います。
<IW:HTML4:"struct/dirlang.html#idx-language-1"> に挙げられている例としては:
- [[検索円陣]]の補助情報
- [[発話合成]]の補助情報
- 高品質[[写植]]のための[[異体グリフ]]選択の補助
- [[引用符]]集合を選ぶための補助
- [[ハイフン付け]], [[合字]] ([[リガチャ]]), [[文字間]]の決定の補助
- 綴り検査・文法検査の補助情報
があります。
[13] [CODE(HTMLa)[lang]] 属性の意図は、 UA が特定言語における旧来の文化的慣習に基づいてより有意義に内容を[[描画]]できるようにということにあります。
UA に特定言語では型破りな文字をさほど意味のない方法で描画することを求めるものではありません。
UA は、 [CODE(HTMLa)[lang]] 属性で指定された値に関わらず、
全ての文字を描画するように最前の努力をなさなければなりません [HTML4]。
という良く分からない文章の心は、 [CODE(HTML)[[CODE(HTMLa)[lang]]=en]]
にしたら (そうしなければ表示されていたはずの) 漢字が[[豆腐]]とかに化けてしまう糞 UA
逝っとくれと、そういうことですかねぇ。 >>4 の例からみても。違いますか?
[[#comment]]
** 代替
[24] [[XHTML 1.0]] で [[XML]] の
[CODE(XMLa)[[[xml]]:lang]] 属性が [[XHTML]]
に取り入れられました。
[[XHTML 1.0]] 互換性指針によれば、[WEAK[互換性指針に従う文書は]]
[CODE(HTMLa)[lang]] と [CODE(HTMLa)[xml:lang]] の両方を指定するべきです。
[CODE(HTMLa)[xml:lang]] が優先されます。 [SRC[XHTML 1.0 C.7]]
** 文脈
[30] [[根要素]]の [CODE(HTMLe)@en[[[html]]]] [[要素]]には
[CODE(HTMLa)@en[[[lang]]]] [[属性]]を指定することが[RUBYB[[[推奨]]]@en[encourage]]されています
[SRC[>>29]]。
;; [31] [[音声合成]]ツールや[[翻訳]]ツールの[[言語]]判定を助けるものです [SRC[>>29]]。
** 継承
[16] ある要素の言語は、次の情報から決定されます。
(先のものが優先度が高い。)
= その要素の [CODE(HTMLa)[lang]] 属性値
= 一番近い [CODE(HTMLa)[lang]] 属性を持つ要素の [CODE(HTMLa)[lang]] 属性値
-- 一般には、[[先祖要素]]
-- [[表]]の[[こま]]では、その[[行]]の最初のこまだったりもする。
= [[HTTP]] の [CODE(HTTP)[[[Content-Language]]]] 頭欄
= [[UA]] の既定値・利用者の設定
(<IW:HTML4:"struct/dirlang.html#h-8.1.2"> 参照。)
[17] 実際には HTML は HTTP 以外でも使われますから、 HTTP
に限らず転送プロトコル一般の言語情報を第3位と解釈するのがよいでしょう。
転送プロトコルが複数組み合わされる場合は (各プロトコル(群)で特に規定がある場合はそれによるとし、そうでない場合は) 内側の (HTML 文書に近い) プロトコルの情報が優先されるとするのがよいでしょう。
[18] [CODE(HTMLa)[[[http-equiv]]]] な [CODE(HTMLe)[[[meta]]]] 要素を使って
[CODE(HTTP)[Content-Language]] を指定する方法も実際には良く使われています。
HTML 4 が触れていない以上、厳密に HTML 4 に従う UA
では無視するのが良いのかもしれませんが、現実路線(謎)の UA
は HTTP など上位プロトコルが言語情報を持たないときにはこれを参照してもよいのではないでしょうか。
[19] ところで、 HTTP では [SAMP(HTTP)[Content-Language: ja, en]]
のように複数の言語を指定できるのですが、 HTML 4 ではできません。
実装者はその辺注意されたし。
[22]
表の中では [CODE(SGML)[%[[cellvalign]]]]
と同じ継承規則が使われると HTML 4
では規定されています。
[[#comment]]
** 言語札の階層性
[10] 言語札は [SAMP(lang)[ja-JP]], [SAMP(lang)[en-US]]
のような階層構造を持っています。
HTML 4 は、言語情報による処理に際して、まず全体の一致を試み、
次に最初の部分の一致によるべきだとしています。
<IW:HTML4:"struct/dirlang.html#h-8.1.3"> 参照。
こうすれば、たとえ [SAMP(lang)[ja-JP]] の処理を知らなくても、
[SAMP(lang)[ja]] の処理さえ知っていれば、それなりの結果が期待できます。
[[#comment]]
** 歴史
[26]
仕様書:
- [DEL[[[RFC 2070]] ([[IETF]] [[提案標準]])]] ([[廃止]])
-- [CSECTION@en[3. The LANG attribute]]
[27]
[[標準]]として最初に [CODE(HTMLa)@en[[[lang]]]]
[[属性]]が [[HTML]] に導入されたのは [[HTML 2.x]]
([[RFC 2070]]) でした。 [[HTML 2.x]] ではすべての[[要素型]]のうち、
意味をなさないと考えられた
[CODE(HTMLe)@en[[[br]]]], [CODE(HTMLe)@en[[[hr]]]],
[CODE(HTMLe)@en[[[base]]]], [CODE(HTMLe)@en[[[nextid]]]],
[CODE(HTMLe)@en[[[meta]]]]
''以外''すべてに [CODE(HTMLa)@en[[[lang]]]]
[[属性]]が追加されました [SRC[[[RFC 2070]] 3.]]。
[28]
[[RFC 2070]] は[[属性値]]として [[RFC 1766]]
の[[言語札]]を参照しつつも構文と意味を独自に規定
[WEAK[(というか[[コピペ]])]] していました。
>>10 の階層的比較に関する規定や >>16
の継承に関する規定もありました。
[36] '''XHTML m12n における事実上の廃止'''
[[XHTML m12n]] では[[抽象モジュール]]定義に [CODE(HTMLa)@en[[[lang]]]]
[[属性]]は含まれず、[[遺物再定義]] [[DTDモジュール]]の定義にひっそり含まれています。
[[XHTML m12n]] を基に構築されている [[XHTML 1.1]] や [[XHTML Basic]]
にはそもそも[[遺物]]モジュールが取込まれていませんから、
[CODE(HTMLa)@en[[[lang]]]] [[属性]]は存在しません。
仕様書:
- [[XHTML m12n]]
-- [[遺物再定義]] [[DTDモジュール]]
<IW:XHTML1m12n:"dtd_module_defs.html#a_module_Legacy_Redeclarations">
[49] [CITE@en[XHTML+RDFa and @lang]] ([[Shane McCarron]] 著, [TIME[2009-01-30 02:21:49 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-xhtml2/2009Jan/0110.html>
>
The XHTML 2 Working Group has been asked to re-introduce the lang
attribute into XHTML family languages. Basically this is so that
assistive technologies will correctly identify the language of content.
> It will also address some issues that arise when content is
served up as text/html instead of application/xhtml+xml.
** 例
[14] [HTML4] から。
[PRE[
<P><Q lang="en">Her super-powers were the result of
γ-radiation,</Q> he explained.</P>
]PRE]
- UA は、英語の内容を適切な方法の描画 (たとえば引用符の取り扱い) を試みるべきです。
- UA は、英語の文字でなくても最前の努力でもって表示を試みなければなりません。
([CODE(HTMLe)[p]] 要素またはそれより上位の要素でも [CODE(HTML)[[CODE(HTMLa)[lang]]=en]] とちゃんと指定しておかないと、引用符は決定できないと思うのですけどねぇ。)
[23]
[[英語]]の文章の中に[[日本語]]
([[羅馬字]]表記) が混じっている例
[PRE(HTML example)[
<p>Horizontal in vertical ("<span lang="ja">Tate-chu-yoko</span>")
</p>
]PRE]
> [SAMP(HTML)[In Japanese, this effect is known as <a href="#g-tatechuyoko">"<span lang="ja">Tate</span>-<span lang="ja">chu</span>-<span lang="ja">yoko</span>"</a>.]]
共に出典は
[CITE[CSS3 Text Module]]
<http://www.w3.org/TR/2003/CR-css3-text-20030514/#writing-mode>
[[#comment]]
** 関連
[39] '''文字コードとの関係'''
[CODE(HTMLa)@en[[[lang]]]] [[属性]]は、
[[文字コード]] ([[符号化文字集合]]や[[符号化方式]])
とは[[直交]]するものです。[[文字コード]]の選択によって
[CODE(HTMLa)@en[[[lang]]]] [[属性]]の要/不要や値が影響を受けることは''ありません''。
[40] '''文字種との関係'''
[CODE(HTMLa)@en[[[lang]]]] [[属性]]による[[言語]]の指定は、
その[[要素]]の[[内容]]として使われる[[文字]]の種類
([[用字系]]や[[正書法]]等) とは直接は関係''ありません''。
[[言語]]と[[文字]]の種類の間には元々強い関係が存在するので、
[CODE(HTMLa)@en[[[lang]]]] [[属性]]と[[内容]]の[[文字]]にも強い関係が認められますが、
それ以上の制約は存在しません。例えば、 [CODE(HTMLa)@en[[[lang]]]]
が [CODE(lang)@en[[[ja]]]] で、[[内容]]が[[アラビア文字]]であったとしても、
(それが[[日本語]]を表記したものなら) 何ら問題ありません。
[41] '''レンダリングとの関係'''
[CODE(HTMLa)@en[[[lang]]]] [[属性]]による[[言語]]の指定は、
その[[要素]]の[[内容]]を[[視覚的]]、[[音声]]、その他の方法によって適切に[[レンダリング]]するための情報の1つとして利用されます。
[[#comment]]
** メモ
[37]
[CODE(HTMLa)@en[[[lang]]]] [[属性]]が [[XML]] に取込まれて
[CODE(XMLa)@en[[[xml]]:[[lang]]]] [[属性]]となった背景には、
[[XLink 1.0]] と同様に、 [[HTML]] に限らず汎用的に使えそうなものは [[XML]]
系[[マーク付け言語]]共用の語彙にしてしまおうという思惑が見え隠れしています。
それ自体は至極結構なことですが、それがために旧来の [[HTML]]
と [[XHTML 1]] の致命的な断絶を招いてしまいました。言語属性の普及状況がいまいちなのも
[[XHTML 1]] の普及状況がいまいちなのもこの問題が大きな原因の
1つだというのは言い過ぎでしょうか。
[42]
[CITE@en-US[Internationalization Best Practices: Specifying Language in XHTML & HTML Content]] ([CODE[2007-02-16 05:52:24 +09:00]] 版) <http://www.w3.org/International/geo/html-tech/tech-lang.html>
([[名無しさん]])
[44]
[CITE@en[lang attributes accross (X)HTML versions - W3C Q&A Weblog]] ([CODE[2007-08-31 19:12:14 +09:00]] 版) <http://www.w3.org/QA/2007/08/xhtml-html-lang-attributes.html>
[47] [CITE@en[MAMA: Common attributes - Opera Developer Community]] ([TIME[2008-11-25 20:33:55 +09:00]] 版) <http://dev.opera.com/articles/view/mama-common-attributes/#lang>
* xml:lang 属性 (XML)
- [4] [[xml]]:lang 特殊属性: <http://www.w3.org/TR/REC-xml#sec-lang-tag>
- [3] [[XSL-FO]] の [CODE(XML)[xml:lang]] 属性の値には [CODE(XSL)[inherit]] を指定できます。 ([[言語札]>>40] 参照)
-
[5] XML 1.0 [ABBR[FE] [First Edition]] では[[言語札]]の構文も定義されていました (<http://www.w3.org/TR/1998/REC-xml-19980210#sec-lang-tag>) が、 [ABBR[SE] [Second Edition]] では RFC に一任されています。
[7] XML 1.0 [[SE]] Errata では重大な変更が加えられています。型が [CODE(SGML)[[[NMTOKEN]]]] から [CODE(SGML)[[[CDATA]]]] に変更され、空文字列が認められました。
- [8] >>7 空文字列だと言語指定取消し (指定なし。) になります。 ([[XML名前空間]]の 1.1 版と似たような変更ですね。) ''Errata in REC-xml-20001006'' <http://www.w3.org/XML/xml-V10-2e-errata#E41>
[21]
[CODE(lang)[[[und]]]] (決定できない) という言語札もあったりしますが、空文字列はもっと積極的に、どの言語にも属さない場合 (絵とか) に使う、のではないでしょうかねぇ。
([[名無しさん]])
[35]
[[XInclude 1.0]] では言語情報を[[取込み]]の前後で保存するために
[CODE(InfoProp)[[[言語]]]][[特性]]を定義し、
[CODE(XMLa)@en[[[xml]]:[[lang]]]] 属性 (とそこに記された情報)
の処理を規定しています。
** 応用
[46] [[Atom 1.0]] や [[AtomPub]] や [[RFC 6721]] で定義されたすべての[[要素]]は [CODE(XMLa)@en[[[xml]]:[[lang]]]]
[[属性]]を持つことができます。どちらの仕様でも指定された[[言語]]はその[[要素]]と[[子孫]]に適用されると説明されていますが、
[[Atom 1.0]] では更に [[Language-Sensitive]] とされた[[要素]]や[[属性]]にのみ有意であると規定されています
[SRC@en[[[Atom 1.0]] 2.]]。
[REFS[
- [78] [CITE@en[RFC 4287 - The Atom Syndication Format]] ([TIME[2008-08-30 23:12:03 +09:00]] 版) <http://tools.ietf.org/html/rfc4287#section-2>
- [79] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 18:52:14 +09:00]] 版) <http://tools.ietf.org/html/rfc5023#section-2.1.3>
- [80] [CITE@en[RFC 6721 - The Atom "deleted-entry" Element]] ([TIME[2012-12-31 01:08:20 +09:00]] 版) <http://tools.ietf.org/html/rfc6721#page-4>
]REFS]
[55]
[CITE@en[Speech Synthesis Markup Language (SSML) Version 1.1]] ([TIME[2010-09-08 00:26:19 +09:00]] 版) <http://www.w3.org/TR/2010/REC-speech-synthesis11-20100907/#adef_xmllang>
* メモ
[1] [CODE(HTML)[lang]] 属性の値で [[CJK]] [[字形]]を区別するのは、間違ってはいませんが良い考えではありません。 (でも [[Unicode]] には他に方法はないです。)
[2] >>1 [[異体字タグ]]? 萎えるな。それに [[XML]] でそれは使えるんだろうか?
[45]
[CITE[英語翻訳 - エキサイト 翻訳]] ([TIME[2008-02-11 12:33:33 +09:00]] 版) <http://www.excite.co.jp/world/english/>
>
[PRE(CSS illegal example code)[
.en_m { lang: EN; font-family: Verdana; }
.en_s { lang: EN; font-family: Verdana; }
]PRE]
[48] [CITE[Document Structure – SVG Tiny 1.2]] ([TIME[2008-12-20 02:31:29 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#XMLLangAttribute>
[50] [CITE[EMMA: Extensible MultiModal Annotation markup language]] ([TIME[2009-02-03 15:38:28 +09:00]] 版) <http://www.w3.org/TR/2009/REC-emma-20090210/#s4.2.5>
本文では [[BCP 47]] (日付は2006年、リンク先は最新版) を参照していますが、[[データ型]]としては
[[XML Schema]] (日付は第2版、リンク先は最新版) の [CODE(XML)@en[[[xs:language]]]]
になっています。
[51] [CITE[IRC logs: freenode / #whatwg / 20090508]]
([TIME[2009-08-07 07:55:55 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090508#l-73>
[52] [CITE[IRC logs: freenode / #whatwg / 20090602]]
([TIME[2009-08-23 20:57:07 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090602#l-368>
[53] [CITE@en[XHTML2 Working Group Teleconference -- 16 Sep 2009]]
([TIME[2009-09-16 23:43:23 +09:00]] 版)
<http://www.w3.org/2009/09/16-xhtml-minutes.html#item05>
[54] [CITE[IRC logs: freenode / #whatwg / 20100205]]
([TIME[2010-02-06 17:25:36 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20100205#l-166>
[56] [CITE@en[Speech Synthesis Markup Language (SSML) Version 1.1]]
( ([TIME[2010-09-08 00:26:19 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-speech-synthesis11-20100907/#edef_lang>
[57] [CITE@en[RFC 3920 - Extensible Messaging and Presence Protocol (XMPP): Core]] ([TIME[2011-03-31 08:02:17 +09:00]] 版) <http://tools.ietf.org/html/rfc3920#section-9.1.5>
[CODE(XML)@en[[[NMTOKEN]]]] でなければ[['''なりません''']]。
[[RFC 3066]] [[言語タグ]]でなければ[['''なりません''']]。
[58] [CITE[Document Structure – SVG 1.1 (Second Edition)]]
( ([TIME[2011-08-10 12:35:27 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#LangSpaceAttrs>
[REFS[
- [72] [CITE@en[RFC 5196 - Session Initiation Protocol (SIP) User Agent Capability Extension to Presence Information Data Format (PIDF)]] ([TIME[2011-11-20 19:42:05 +09:00]] 版) <http://tools.ietf.org/html/rfc5196#page-9>
- [74] [CITE@en[RFC 4482 - CIPID: Contact Information for the Presence Information Data Format]] ([TIME[2011-11-20 21:10:10 +09:00]] 版) <http://tools.ietf.org/html/rfc4482#section-7>
]REFS]
[73] >>72 では省略時の既定値が [CODE(lang)@en[[[i-default]]]] です。
[75] [CITE[Web Application Description Language]]
( ([TIME[2009-09-10 03:59:24 +09:00]] 版))
<http://www.w3.org/Submission/2009/SUBM-wadl-20090831/#x3-80002.3>
[76] [CITE@en[Web Applications 1.0 r7421 Encourage lang=[SPAN[']][SPAN[']] on root element.]]
( ([TIME[2012-09-29 03:44:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7420&to=7421>
[77] [CITE@en[Re: xml:lang in the light of error frequencies]]
( ([[Ian Hickson]] 著, [TIME[2008-08-12 19:12:39 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-html/2008Aug/0301.html>
[81] [CITE@en[Web Applications 1.0 r7894 Don't set the language when it's just spaces.]]
( ([TIME[2013-06-05 05:27:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7893&to=7894>
[82] [CITE[''''''[''''''whatwg'''''']'''''' HTML: A DOM attribute that returns the language of a node]]
( ([TIME[2013-07-13 09:28:35 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-July/040044.html>
[83] [CITE[''''''[''''''whatwg'''''']'''''' HTML: A DOM attribute that returns the language of a node]]
( ([TIME[2013-09-17 00:43:23 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-September/040846.html>
[84] [CITE@en[Bug 23512 – API to expose actual language of a node, to aid scripts doing localisation and CJK editors during copy&paste and drag&drop]]
( ([TIME[2013-10-14 23:00:35 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=23512>
[85] [CITE@en[XHTML+RDFa 1.1 - Second Edition]]
( ([TIME[2013-08-15 17:11:45 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-xhtml-rdfa-20130822/#s_xhtmlrdfa>
[86] [CITE@en[HTML+RDFa 1.1]]
( ([TIME[2013-08-20 15:49:04 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-html-rdfa-20130822/#additional-rdfa-processing-rules>
[87] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#forwarding0>
[88] [CITE@EN[XPath and XQuery Functions and Operators 3.0]]
( ([TIME[2014-04-08 07:02:07 +09:00]] 版))
<http://www.w3.org/TR/xpath-functions-3/#func-lang>
[89] [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/#language-information>
[90] [CITE@en-US[Internationalization Tag Set (ITS) Version 2.0]]
( ([TIME[2013-10-27 19:39:43 +09:00]] 版))
<http://www.w3.org/TR/its20/#language-information>
[91] [CITE@en[Authoring HTML: Language declarations]]
( ([TIME[2014-05-29 21:20:34 +09:00]] 版))
<http://www.w3.org/TR/2014/NOTE-i18n-html-tech-lang-20140603/>
[92] [CITE@en[Bug 26951 – why do these examples of <html> lack the lang attribute?]]
( ([TIME[2014-10-02 13:04:16 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=26951#c7>
[93] [CITE[The Platform for Privacy Preferences 1.0 (P3P1.0) Specification]]
( ([TIME[2002-04-16 22:03:48 +09:00]] 版))
<http://www.w3.org/TR/P3P/#multiple>
[6] [CITE@en[Proposals/dropxmlattributes - SVG]]
([TIME[2015-01-30 22:52:07 +09:00]] 版)
<https://www.w3.org/Graphics/SVG/WG/wiki/Proposals/dropxmlattributes>
[9] [CITE[Issue 341854 - chromium - Remove vestigal xml:base support - An open-source project to help move the web forward. - Google Project Hosting]]
([TIME[2015-01-31 13:03:50 +09:00]] 版)
<https://code.google.com/p/chromium/issues/detail?id=341854>
[20] [CITE@en[16489 – Retrieve element language]]
([TIME[2015-08-04 13:58:51 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=16489>
[FIG(quote)[
[FIGCAPTION[
[32] [CITE@en[RFC 7749 - The "xml2rfc" Version 2 Vocabulary]]
([TIME[2016-02-04 22:54:51 +09:00]] 版)
<https://tools.ietf.org/html/rfc7749#section-2.33.11>
]FIGCAPTION]
> The natural language used in the document (defaults to "en").
]FIG]
[33] [CITE@en[Editorial: add lang attribute to most examples · whatwg/html@ea5c6a2]]
([TIME[2016-04-19 11:42:16 +09:00]] 版)
<https://github.com/whatwg/html/commit/ea5c6a25d154f2c2d3f32cfc5148b05c6f4be30b>
[34] [CITE[LANG attribute list]]
([TIME[2016-07-21 08:56:13 +09:00]])
<https://cdn.rawgit.com/operasoftware/devopera-static-backup/master/http/devfiles.myopera.com/articles/572/langlist-url.htm>
[38] [CITE@EN[XPath and XQuery Functions and Operators 3.1]]
([TIME[2017-03-21 16:02:06 +09:00]])
<https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-lang>
[43] [CITE@en[23512 – API to expose actual language of a node, to aid scripts doing localisation and CJK editors during copy&paste and drag&drop]]
([TIME[2017-07-23 16:25:47 +09:00]])
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=23512>
[59] [CITE@en[RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH]]
([TIME[2017-10-01 13:49:21 +09:00]])
<https://tools.ietf.org/html/rfc5323#section-5.12>
[FIG(quote)[
[FIGCAPTION[
[60] [CITE@en[RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH]]
([TIME[2017-10-01 13:49:21 +09:00]])
<https://tools.ietf.org/html/rfc5323#section-6>
]FIGCAPTION]
> Properties may be language-tagged using the xml:lang attribute (see
> '''['''RFC4918''']''', Section 4.3). The optional operators DAV:language-defined
> (Section 5.12.1) and DAV:language-matches (Section 5.12.2) allow the
> expression of conditions on the language tagging information.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[61] [CITE@en[AMP HTML Specification – AMP]]
([TIME[2018-02-14 10:04:22 +09:00]])
<https://www.ampproject.org/docs/reference/spec>
]FIGCAPTION]
> XML-related attributes, such as xmlns, xml:lang, xml:base, and xml:space are disallowed in AMP HTML.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[62] [CITE[Google「言語指定にlangは使うな」/公式発言]]
([TIME[2019-03-20 17:13:34 +09:00]])
<https://seopack.jp/seoblog/20161111-use-hreflang/>
]FIGCAPTION]
> Googleが見ていないというlang属性は、少なくともSEO目的では、使う意味は全くありません。かつては使われていたらしいが現在では特別な用途が見当たらない、という、いわばHTML界の「盲腸」のようなタグです。
]FIG]
[63]
元の [[Google]] 社員の発言は検証していないが、
このページで引用している部分では、
[[Google]] は見出しのように「使うな」とは一言も言っていない。
もし本当に言っているなら、そこか見出しにするほど重要事項なのだから、
必ずそこを引用しているだろう。
つまり見出しはいわゆる釣りタイトルで捏造だ。 (本文に書いてないことを見出しにするのはかなりタチが悪い。)
[64]
しかも [CODE[lang]] 属性を使っていないのは [[Google検索]]の話だけで、
それ以外の用法で使われないとは誰も言っていない。
[[HTML]] の知識がある人にとっては、
[[レンダリング]]や [CODE[:lang]] など [CODE[lang]]
属性が使われる場面がいくつかあることは常識ではないか。
それを「HTML界の「盲腸」のようなタグ」などと意味不明なことを書き、
専門家面して読者を騙そうとするのは誠実ではない。
[65] [CITE@en[Demos: Add lang="en" to html files by ricea · Pull Request #974 · whatwg/streams]]
([TIME[2019-05-31 15:07:08 +09:00]])
<https://github.com/whatwg/streams/pull/974>