* リスト系要素 type 属性


** ul 要素 type 属性 (HTML, XHTML 1)

[35] [CODE(HTMLe)[[[ul]]]] 要素の [DFN[[CODE(HTMLa)[type]] 属性]]は、
順序付けられていない並びの項目の様式を指定します。

この属性は[[非推奨]]です。

仕様書: [[HTML 4]] <IW:HTML4:"struct/lists.html#adef-type-UL">,
<IW:HTML4:"struct/lists.html#type-values">

[36] 属性値:
:[CODE(HTML)[[[circle]]]]:小さな四角形の枠
:[CODE(HTML)[[[disc]]]]:塗り潰した小さな円
:[CODE(HTML)[[[square]]]]:小さな円の枠

これらはいずれも、視覚的 UA が表示しようと試みるべき (should)
形状を表しています。

[38]
既定値は並びの入れ子の深さに依存します。

多くの UA では、一番外側の並びの項目は [CODE(HTML)[disc]]
とし、入れ子が深まるごとに [CODE(HTML)[circle]] や
[CODE(HTML)[square]] に変えています。

UA によっては、 HTML では指定できない種類の印
(たとえば [SAMP[*]]) が既定値として使われることがあります。

[37]
HTML 4 のように [CODE(SGML)[[[NAMECASE]] [[GENERAL]] [[YES]]]]
な [[SGML宣言]]を持ち、[[列挙型]]として定義されている [[DTD]]
を使った [[HTML文書]]では、大文字と小文字は区別されません。

[[XHTML]] のように [CODE(SGML)[NAMECASE GENERAL [[NO]]]]
なときには大文字と小文字は区別されるので、小文字で記述しなければなりません。

従って、互換性のためにどんな場合でも小文字を使って書くのが望ましいと言えましょう。

HTML 4 や XHTML 1 のように列挙型で定義されている DTD
を使った HTML 文書では、真の属性値の前後に[[空白]]を挿入できます。
しかし、互換性のためにそのようなものは入れない方が望ましいでしょう。

[39] この属性は非推奨であり、代わりに [[CSS]]
なら [CODE(CSS)[[[list-type]]]] を使って指定することが望ましいとされています。

例:
[PRE(CSS)[
[CODE(HTMLe)[ul]] > [CODE(HTMLe)[li]] {
  list-style-type: circle;
}
]PRE]

CSS や他のスタイル言語を使うと、 HTML では指定できない種々の並び項目印を使用することができます。

[50]
[CODE(HTML)[disc]] の typo で [CODE(HTML)[disk]] としている解説本もあります。 (どうせほとんどのブラウザで既定値の [CODE(HTML)[disc]] の綴りを間違えても同じ結果で気づかなかったのでしょう。仕様書くらい読めよ。)
([[名無しさん]])

[78]
>>50 参考
[CITE[Re: Wilbur and Cougar (Re: DOCTYPE and Comment) ]] <http://groups.google.com/groups?selm=E1xFs0.4Hv%40vega.aichi-u.ac.jp>
([[名無しさん]])

[80]
[[EZweb]]の[[WAP 2.0]]対応と称する端末では、[CODE(HTML)@en[[[disc]]]]なら[CODE@en[[[littlesquare2]]]] (赤丸)、[CODE(HTML)@en[[[circle]]]]なら[CODE@en[[[littlecircle1]]]] (緑丸)、[CODE(HTML)@en[[[square]]]]なら[CODE@en[[[medsquare2]]]] (桃正方形) が表示されるそうです。

[[#comment]]


*** 歴史

[84] [CODE(HTMLe)@en[[[ul]]]] [[要素]]の [CODE(HTMLa)@en[[[type]]]]
[[属性]]は [[HTML 2.0]] の拡張として [[Netscape Navigator]]
が実装しました。

元々 [CODE(HTMLa)@en[[[ul]]]] [[要素]]内の各項目の前には、
[[入れ子]]の深さに応じて [CODE(HTML)@en[[[disc]]]],
[CODE(HTML)@en[[[circle]]]], [CODE(HTML)@en[[[square]]]]
の順で印がつくようになっていましたが、 [CODE(HTMLa)@en[[[type]]]]
[[属性]]により[[著者]]がいずれかを指定できるようになりました。

;; [CITE[Netscape Navigator Extensions to HTML]] 
<http://web.archive.org/web/20000415023954/http://www.netscape.com/home/services_docs/html-extensions.html>

[[#comment]]


*** メモ

[[#comment]]


** ol 要素 type 属性 (HTML, XHTML 1)

[40] [CODE(HTMLe)[[[ol]]]] 要素の [DFN[[CODE(HTMLa)[type]] 属性]]は、
順序付けられていない並びの項目の様式を指定します。

この属性は[[非推奨]]です。

仕様書: [[HTML 4]] <IW:HTML4:"struct/lists.html#adef-type-OL">,
<IW:HTML4:"struct/lists.html#type-values">,
<IW:HTML4:"sgml/loosedtd.html#OLStyle">

[41] 属性値:
:[CODE(HTML)[1]]:アラビア数字 ([SAMP[1]], [SAMP[2]],...)
:[CODE(HTML)[A]]:大文字字母 ([SAMP[A]], [SAMP[B]],...)
:[CODE(HTML)[a]]:小文字字母 ([SAMP[a]], [SAMP[b]],...)
:[CODE(HTML)[I]]:羅馬数字 ([SAMP[I]], [SAMP[II]],...)
:[CODE(HTML)[i]]:羅馬数字 ([SAMP[i]], [SAMP[ii]],...)

大文字と小文字は当然区別されます。
[[SGML]] 的な型は [CODE(SGML)[[[CDATA]]]] です。

HTML 4 仕様書には [Q[CI]] (大文字・小文字を区別しない) と書かれていますが、
これは間違いです。仕様書の本文や DTD の注釈には正しく区別すると書かれています。

[42] この属性の既定値は決まっていないようです。

多くの UA は [CODE(HTML)[1]] を既定値にしているようです。
[CODE(HTMLe)[ul]] 要素とは違って入れ子になっても既定値には影響しないのがほとんどです。

多くの UA は数字 (どの種類でも。) の直後に [CODE[.]] を入れ、
項目本文までに若干の間隔をおきます。また、
項目が二行以上にわたるときには数字〜間隔に相当する部分は間隔としています。
([SAMP(CSS)[[[list-style-position]]: [[outer]]]])

多くの UA は羅馬数字の [CODE[4]] を [CODE[iiii]] ではなく
[CODE[iv]] のように表示します。 ([CODE[9]] や [CODE[14]] なども同様。)

[CODE[27]] 以上の大きな数についての規定は特になく、 UA
によってばらばらです。 2[SUP[16]] や 2[SUP[32]] 以上の数を正しく表示できない
UA も多々あります。

[44] [[コピペ]]しようとしたときの UA の挙動は色々です。
表示に即した文を copy する UA/場面もあれば、数字を [Q[#]]
のような代替文字にして copy する UA/場面もあります。

(ここで場面とは、たとえば、並び全体を copy する場合と項目の一部を copy
する場合で挙動が異なる UA もあるということです。)

[43] この属性は非推奨です。[[スタイル・シート]]を使って指定するべきであるとされています。
たとえば [[CSS]] では、 [SAMP(CSS)[[CODE(HTMLe)[ol]] {list-style-type: [[lower-roman]]}]]
のように指定できます。

[48] なお、この属性の指定は [CODE(HTMLa)[[[start]]]] 属性や
[CODE(HTMLe)[[[li]]]] 要素の [CODE(HTMLa)[[[value]]]]
属性の指定には影響しません。

[[#comment]]


*** 歴史

[82] [CODE(HTMLe)@en[[[ol]]]] [[要素]]の [CODE(HTMLa)@en[[[type]]]]
[[属性]]は [[HTML 2.0]] の拡張として [[Netscape Navigator]]
が実装しました。

元々 [CODE(HTMLe)@en[[[ol]]]] [[要素]]内の各項目の
[CODE(CSS)@en[[[list-style-type]]]] は [CODE(CSS)@en[[[digit]]]]
でしたが、 [CODE(HTMLa)@en[[[type]]]] [[属性]]により
[CODE(HTML)@en[[[1]]]], [CODE(HTML)@en[[[A]]]],
[CODE(HTML)@en[[[a]]]], [CODE(HTML)@en[[[I]]]],
[CODE(HTML)@en[[[i]]]] を指定できるようになりました。

;; [CITE[Netscape Navigator Extensions to HTML]] 
<http://web.archive.org/web/20000415023954/http://www.netscape.com/home/services_docs/html-extensions.html>

[[#comment]]


*** メモ

[88]
[CITE[Re: ''''''[''''''WA1'''''']'''''' <ol type=a> is semantic]] ([[Ian Hickson <ian@...>]] 著, [CODE[2007-11-08 02:00:22 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/12380>
([[名無しさん]])

[[#comment]]


** li 要素 type 属性 (HTML, XHTML 1)

[45] [CODE(HTMLe)[[[li]]]] 要素の [DFN[[CODE(HTMLa)[type]] 属性]]は、
並びの項目の様式を指定します。

この属性は[[非推奨]]です。

仕様書: [[HTML 4]] <IW:HTML4:"struct/lists.html#adef-type-LI">,
<IW:HTML4:"struct/lists.html#type-values">,
<IW:HTML4:"sgml/loosedtd.html#OLStyle">

[46] HTML 4 仕様書本文にははっきり書かれていないのですが、
DTD の注釈 (参考) によれば、 [CODE(HTMLe)[ul]] 要素の [CODE(HTMLa)[type]]
属性に使える値または [CODE(HTMLe)[ol]] 要素の [CODE(HTMLa)[type]]
属性に使える値が使えます。

仕様書にも DTD にもはっきり書いてありませんが、
[CODE(HTMLe)[ul]] の子供の [CODE(HTMLe)[li]] では [CODE(HTMLe)[ul]] 用のみ、
[CODE(HTMLe)[ol]] の子供の [CODE(HTMLe)[li]] では [CODE(HTMLe)[ol]]
用のみが使えるはずです。大文字・小文字の区別もそれぞれそのままだと思われます。

やはり明記されていませんが、既定値は[Q[継承]]です。

[89] [CODE(HTMLe)@en[[[dir]]]] [[要素]]や [CODE(HTMLe)@en[[[menu]]]] [[要素]]の[[子供]]たる
[CODE(HTMLe)@en[[[li]]]] [[要素]]では [CODE(HTMLa)@en[[[value]]]] [[属性]]は使われるべきではないと思われますが、
やはり [[HTML4]] には明記されていません。

[47] この属性は非推奨です。スタイル・シートを使うべきです。
たとえば [[CSS]] では [SAMP(CSS)[[CODE(HTMLe)[li]] {list-type-style: circle}]]
のように指定できます。

[49] なお、この属性の指定は [CODE(HTMLa)[[[value]]]]
属性の指定方法には影響しません。

入れ子の並び要素や兄弟項目要素に影響するかどうかは特に規定されていません。
UA 依存でしょう。

[51]
>>49 最初の一回の指定だけが有効な UA も過去にあったそうです。

[81]
>>46
[[利用者エージェント]]によって、[CODE(HTMLe)@en[[[ul]]]]用でも[CODE(HTMLe)@en[[[ol]]]]用でも指定できたり、できなかったりします。[CODE(HTMLe)@en[[[ul]]]]用には全種類指定できるのに[CODE(HTMLe)@en[[[ol]]]]には[CODE(HTMLe)@en[[[ol]]]]用しか指定できないおかしな[[利用者エージェント]]もあるようです。

[[#comment]]


*** 歴史

[83] [CODE(HTMLe)@en[[[li]]]] [[要素]]の [CODE(HTMLa)@en[[[type]]]]
[[属性]]は [[HTML 2.0]] の拡張として [[Netscape Navigator]]
が実装しました。

[CODE(HTMLe)@en[[[ul]]]] [[要素]]の [CODE(HTMLe)@en[[[li]]]] [[要素]]では
[CODE(HTMLe)@en[[[ul]]]] [[要素]]の [CODE(HTMLa)@en[[[type]]]] [[属性]]、
[CODE(HTMLe)@en[[[ol]]]] [[要素]]の [CODE(HTMLe)@en[[[li]]]] [[要素]]では
[CODE(HTMLe)@en[[[ol]]]] [[要素]]の [CODE(HTMLa)@en[[[type]]]] [[属性]]と同じ[[値]]を指定できることになっていました。
指定した [CODE(HTMLa)@en[[[type]]]] はその [CODE(HTMLe)@en[[[li]]]]
と以後の [CODE(HTMLe)@en[[[li]]]] に適用されることになっていました。

;; [CITE[Netscape Navigator Extensions to HTML]] 
<http://web.archive.org/web/20000415023954/http://www.netscape.com/home/services_docs/html-extensions.html>

[[#comment]]


*** メモ

[[#comment]]


** その他

[[#comment]]



[3] [CITE@en[Match browsers for case-sensitivity of ol''''''[''''''type=a'''''']'''''' selector · whatwg/html@9f367c1]]
([TIME[2015-10-07 13:50:56 +09:00]] 版)
<https://github.com/whatwg/html/commit/9f367c16064f3fc8557d9cf50859ec4656cc3c86>

* [CODE[dir]] 要素 [CODE[type]] 属性

[5] <http://code.google.com/p/doctype/wiki/DirTypeAttribute>

[6] <http://www.nttdocomo.co.jp/service/imode/make/content/browser/html/tag/type4.html>



[7] [CITE@en[Editorial: use the s flag for matching ol/li's type attribute]]
([[annevk]]著, [TIME[2018-12-19 07:33:56 +09:00]])
<https://github.com/whatwg/html/commit/31334d781350bb2c97198df90012a44e665e86d6>

[8] [CITE@en[Case-sensitive matching for ol'''['''type''']''' attribute selectors should be extended to author CSS for use with @counter-style · Issue #4158 · whatwg/html]]
([TIME[2019-05-31 18:34:21 +09:00]])
<https://github.com/whatwg/html/issues/4158>

[10] [CITE@en[Use the s flag for matching ol/li's type attribute by annevk · Pull Request #4233 · whatwg/html]]
([TIME[2019-05-31 18:35:39 +09:00]])
<https://github.com/whatwg/html/pull/4233>