/
892.txt
79 lines (62 loc) · 3.97 KB
/
892.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
[1] [[XHTML2]] の [DFN[[CODE(HTMLe)@en[[[l]]]] [[要素]]]] (当初は
[DFN[[CODE(HTMLe)@en[[[line]]]] [[要素]]]]) は、 [[HTML4]] の [CODE(HTMLe)@en[[[br]]]]
に代わり[[文書]]中の「[[行]]」を表すものとして定義されていました。
* 歴史
[2] [CODE(HTMLe)@en[[[line]]]] [[要素]]は [[mimasa]]
氏により追加が検討されている[[要素]]として事前にリークされていましたが、
正式には 2002年8月の最初の [[XHTML2]] [[作業原案]]によって公表されました。
;; [CITE@en[- XHTML Text Module]] ([TIME[2002-08-06 00:20:43 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20020805/mod-text.html#edef_text_line>
[3] [CODE(HTMLe)@en[[[br]]]] [[要素]]も[[非推奨]]ながら残されていました。
[6] 2つ目の[[作業原案]]では [CODE(HTMLe)@en[[[l]]]] [[要素]]に改名されましたが、
なぜか規定が削除されていました。 [CODE(HTMLe)@en[[[br]]]]
[[要素]]も削除されました。
;; [CITE@en[- XHTML Text Module]] ([TIME[2002-12-12 23:58:38 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20021211/mod-text.html>
[7] 3つ目の[[作業原案]]で定義が復活しました。
;; [CITE@en[- XHTML Text Module]] ([TIME[2002-12-18 19:57:57 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20021218/mod-text.html#sec_8.10.>
[4] [CODE(HTMLe)@en[[[l]]]] [[要素]]に対しては、従来 [CODE(HTMLe)@en[[[br]]]]
[[要素]]や [CODE(HTMLe)@en[[[pre]]]] [[要素]]で表していた[[詩]]の[[行]]や[[プログラミング言語]]の[[行]]をより“[[意味的]]”
に記述できると評価する声がある一方で、「[[行]]」という概念自体が[[物理的]]であって
[[XHTML]] には相応しくないとする批判もありました。
[5] 末期の [[XHTML2 WG]] では [CODE(HTMLe)@en[[[l]]]] [[要素]]を廃して
[CODE(HTMLe)@en[[[br]]]] [[要素]]に戻すべきとの意見もありました [要出典]。
[8]
[[XHTML2]] の失敗で [CODE[l]] [[要素]]も消滅しました。
[9]
[CODE[section]] [[要素]]のように [[XHTML2]] の有用なアイデアは [[HTML5]]
に取り込まれましたが、
[CODE[l]] [[要素]]を推す声はほとんどありませんでした。
[10]
[[平成10年代]]前半頃には、[[欧米]]でも[[日本]]でも、
[CODE[br]] 式の[[空要素]]より、
[CODE[l]] 式の[[子供]]を持つ[[要素]]の方が優れているとの考え方がありました。
その背景には
[[CSS]] や [[DOM]]
で
「[[要素]]と[[要素]]の間」
よりも
「[[要素]]とその[[内容]]」
の方が扱いやすいことがあったのでしょう。
[CODE[p]] [[要素]]が[[お尻p]]から[[子供]]を持つようになり、
[CODE[h[VAR[n]]]] の暗示的区切りより [CODE[section]] が望まれ
[CODE[hr]] が敬遠されるといった、
[[言語]]全体の方向性もありました。
[11]
しかしあらゆる[[行]]を [CODE[l]] に入れさせるのは現実的でなく、
明示的な [CODE[l]] とそうでない暗示的な行の混在が前提とならざるを得ません
([[XHTML2]] はそれを明確に規定していませんでしたが)。
文書の作成を考えると
[CODE[br]]
や
[CODE[pre]]
の従来方式の方が楽です。
[[CSS]] や [[DOM]] の扱いも、
混在を前提にすると [CODE[l]] を追加したことにより複雑になるだけです。
(一般性が求められず自分の作ったページだけで通用すればいいスクリプトなら、
対象を [CODE[span]] で適宜[[マーク付け]]すればよく、専用の[[要素]]は不要です。)
[12]
むしろ、「行」という表示に密接に関係する[[要素]]を新たに追加しても、
表示調整目的で濫用されるであろうことは [[HTML]]
の歴史から明らかです。
実用性に疑問があり、
言語の意味的な整合性も危うくするようなものを、
敢えて追加する意義は少ないでしょう。