ではいくつかの視覚的 UA
での慣習が説明されています。 (こちらは参考と明記されています。)
- 入れ子の深さにしたがってレンダリングします。
- [CODE(HTMLa)[type]] 属性をレンダリングのヒントとします。
- [CODE(HTMLa)[type]] 属性の既定値は入れ子の深さに依存します。
- [CODE(HTMLa)[type]] 属性の値とそれに対応する、表示するべき形。
([CODE(HTLMa)[[[type]]]] 属性の説明を参照。)
[17]
[CODE(HTMLa)[[[type]]]] 属性や [CODE(HTMLa)[[[compact]]]] 属性の説明も参照。
([[名無しさん]])
[[#comment]]
** 例
[13]
[PRE(HTML)[
- Unordered information.
- Ordered information.
- Definitions.
]PRE]
(HTML 4 仕様書より)
[14]
[PRE(HTML)[
現在インターネットでもっともよく使われているサービスは次のものだろう。
]PRE]
[15] 入れ子の例:
[PRE(HTML)[
主要なマーク付け言語:
]PRE]
[19] [[目次]]の例
[PRE(HTML example)[
<[CODE(HTMLe)[[[div]]]] [CODE(HTMLa)[[[class]]]]="subtoc">
<[CODE(HTMLe)[[[p]]]]><[CODE(HTMLe)[[[strong]]]]>Contents[CODE(HTMLe)[[[strong]]]]>[CODE(HTMLe)[[[p]]]]>
<[CODE(HTMLe)[[[ul]]]] [CODE(HTMLa)[[[class]]]]="toc">
<[CODE(HTMLe)[[[li]]]] [CODE(HTMLa)[[[class]]]]="tocline">4.1. <[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[#sec_4.1.]]" [CODE(HTMLa)[[[class]]]]="tocxref">Syntactic Conventions[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]] [CODE(HTMLa)[[[class]]]]="tocline">4.2. <[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[#s_common_types]]" [CODE(HTMLa)[[[class]]]]="tocxref">Content Types[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]] [CODE(HTMLa)[[[class]]]]="tocline">4.3. <[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[#s_common_attrtypes]]" [CODE(HTMLa)[[[class]]]]="tocxref">Attribute Types[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]] [CODE(HTMLa)[[[class]]]]="tocline">4.4. <[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[#sec_4.4.]]" [CODE(HTMLa)[[[class]]]]="tocxref">An Example Abstract Module Definition[CODE(HTMLe)[[[a]]]]>
<[CODE(HTMLe)[[[ul]]]] [CODE(HTMLa)[[[class]]]]="toc">
<[CODE(HTMLe)[[[li]]]] [CODE(HTMLa)[[[class]]]]="tocline">4.4.1. <[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[#sec_4.4.1.]]" [CODE(HTMLa)[[[class]]]]="tocxref">XHTML Skiing Module[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
[CODE(HTMLe)[[[ul]]]]>
[CODE(HTMLe)[[[li]]]]>
[CODE(HTMLe)[[[ul]]]]>
[CODE(HTMLe)[[[div]]]]>
]PRE]
出典: [CITE[Modularization of XHTML - Defining Abstract Modules]]
[20] [[Webサイト]]の案内の例
[PRE(HTML example)[
<[CODE(HTMLe)[[[ul]]]] [CODE(HTMLa)[[[class]]]]="navigation">
<[CODE(HTMLe)[[[li]]]] [CODE(HTMLa)[[[class]]]]="this"><[CODE(HTMLe)[[[strong]]]]>Home[CODE(HTMLe)[[[strong]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]]><[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[/news/]]">News[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]]><[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[/demos/]]">Demos[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]]><[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[/specs/]]">Specifications[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]]><[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[/charter]]">Charter[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
<[CODE(HTMLe)[[[li]]]]><[CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]]="[CODE(URI)[/mailing-list]]">Mailing List[CODE(HTMLe)[[[a]]]]>[CODE(HTMLe)[[[li]]]]>
[CODE(HTMLe)[[[ul]]]]>
]PRE]
出典: [CITE[Web Hypertext Application Technology Working Group]]
(2005年1月付け)
[[Webサイト]]内の主要な[[頁]]への[[リンク集]]で、
リンク先の各[[頁]]にも同様な [CODE(HTMLe)[[[ul]]]]
要素が含まれています。
別途指定されている [[CSS]] と[[画像]]により、[[視覚UA]]
では [[GUI]] でよく使われる[[タブ]]のような見た目で横並びに表示されます。
[16]
[CODE(HTMLe)[[[ol]]]] 要素, [CODE(HTMLe)[[[dl]]]] 要素, [CODE(HTMLe)[[[li]]]] 要素, [CODE(HTMLa)[[[type]]]] 属性, [CODE(HTMLa)[[[compact]]]] 属性の例も参照。
[[#comment]]
** HTML のリスト系要素型の使い分け
- [1] [CODE(HTML)[UL]] と [[ol]] の使い分け: ''Strict-HTML スレッド10''
- [2] リスト系要素の使い分けは古今東西問わず頻出問題ですね。
- [3] [[HTML]] にはリスト系要素が [CODE(HTML)[UL]], [CODE(HTML)[OL]], [[dl]], [[nl]], [[dir]], [[menu]] と沢山ありますからねぇ。
- [4] [[某方面]]では[[100の質問]]のマーク付けのときにも問題になってます。
- [5] [[Strict]] 的思想にはなじまないかもしれませんが、そもそもの SGML/HTML の初期の [CODE[UL]]/[CODE[OL]] の使い分けというのは、番号を振るかどうかだった。 [CODE[OL]] はあくまでも、自動で番号を振ってくれる機能つきのリストだったのですよ。
- [6] >>5 今の Strict は文書の構造をとことん突き詰める方へ向かっていますけど、当時は当時の時代的制約で、そんなのは夢のまた夢、あるいは夢にも思われていなかったんですよね。だから、 SGML 文書のマーク付けってのはあくまでも、表示書式の抽象化のためのものであったのでして。 [WEAK[(もちろん今は必ずしもそうではない。)]]
- [7] [[並び]] ([[列挙]]) はなんでも [CODE(HTML)[ul]] or [CODE(HTML)[ol]] でマークしたがる香具師が多いけど、 HTML における重要な概念、 [[ブロック要素]]と[[インライン要素]]の違いを思い出すべきだよな。 [CODE(HTML)[ul]] も [CODE(HTML)[ol]] もブロック水準の並びであって、[SAMP[A, B, そして C のような種類がある]]とかのような文中の列挙までそうするのは生きすぎだし、ナビゲーションのリンク並びも (無理矢理分類して) インライン水準なら [CODE(HTML)[ul]] は不適切だと思う。
- [8] >>7 [[表現と構造の分離]]思想の行き過ぎで、ブロック/行内という区別自体が表現的構成要素だと考えてしまう人もいるみたいだけど、そうじゃなくて、[[文]]あるいは[[行]]という水準の上がブロック、下が行内という、構造の大きさの概念と理解できるのでして。
[18]
90年代中頃の糞解説書には、リスト要素は余り使われなくなってきていて、確かに余り融通が効かないし、敢えて必要もないよね、みたいなことを書いてあるものまでありました。その主たる根拠は marker の自由度が低いこと。
悔しいけど当時の状況は糞本著者の言う通りで、丁度マーク放棄、自分のブラウザで表示できればそれでよしの風潮が高まっていった時期ですし、当時のブラウザで list marker は [CODE(HTMLa)[type]] 属性で指定できる分しか選択肢がなかったです。
([[HTML 3.0]] には [CODE(HTMLe)[[[li]]]] 要素に [CODE(HTMLa)[[[src]]]] 属性 (いまでいうところの [[CSS]] の [SAMP(CSS)[[[list-style]]: url([VAR[foo]])]]) があったけど、実装はほとんどなかったしなあ。)
当時の [[WYSIWYG]] な[[著述ソフトウェア]]の中には、 list marker の画像を [CODE(HTMLe)[[[table]]]] で実現しているものもあったっけ (もちろん、利用者には他の list marker と同列に見せて、実は)。
需要は高まる一方なのに標準化も実装も追い付かないというか違う方向にすすんでいるというか、
ある意味誰にとっても不幸な時代だったような気がします。
([[名無しさん]])
[[#comment]]
** メモ
[[#comment]]
* メモ