#?SuikaWiki/0.9
* ul 要素, ol 要素, dl 要素, dir 要素, menu 要素 compact 属性 (HTML, XHTML 1)

[2] [[並び]]系各要素の [DFN[[CODE(HTMLa)[compact]] 属性]]は、
視覚的 UA へのヒントとして、 compact に表示するべきことを表します。

* 仕様書

[REFS[
- [10] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2017-05-25 15:13:14 +09:00]]) <https://html.spec.whatwg.org/#dom-dl-compact>
]REFS]




この属性は[[真偽値属性]]です。 HTML 4 ではこの属性は非推奨です。

この属性の解釈は、 UA に依存します。

仕様書: [HTML 4] <IW:HTML4:"struct/lists.html#adef-compact">

[3] HTML 4 仕様書本文では [CODE(HTMLe)[[[li]]]] 要素にもあるかのような書き方ですが、
実際にはありません。 [CODE(HTMLe)[[[dl]]]] 要素や [CODE(HTMLe)[[[dir]]]]
要素や [CODE(HTMLe)[[[menu]]]] 要素には存在しないような書き方ですが、
実際には存在します。

いずれも、 [[DTD]] や索引には正しく載っています。

[5] HTML 4 の DTD の注釈 (参考) には、
[Q[reduced interitem spacing]] と書かれています。

* 意味

[6] [[microformats]] ([[XOXO]]) では[[木構造]]の表示において折りたたんだ ([[部分木]]を非表示にした) 
状態を [CODE(HTMLa)@en[[[compact]]]] [[属性]]によって表現するために使われていました。

[7] [[HTML4]] 仕様の解釈次第では >>6 のような意味に転用することも正当化できますが、
一方で[[典型レンダリング]]と異なるものを想定すること、そもそも[[非推奨]]の[[属性]]であることなどから好ましくないと考える人もいました。

* IDL 属性

[11] 
[CODE(DOMi)@en[HTMLDListElement]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[compact]]]] [[IDL属性]]は、
[CODE(HTMLa)@en[compact]] [[内容属性]]を
[CODE(IDL)@en[boolean]] として[[反映]]しなければ[MUST[なりません]] [SRC[>>10]]。

[12] この[[属性]]は、[[廃止]]された[[属性]]です [SRC[>>11]]。
[[Webブラウザー]]は実装しなければなりませんが、
[[著者]]は使うべきではありません。

* 歴史

[9] [CODE(DOMi)@en[HTMLDListElement]] [[インターフェイス]]の
[CODE(DOMa)@en[compact]] [[IDL属性]]は、
[[Trident]] が実装していた他、
[[DOM1 HTML]] や [[DOM2 HTML]] でも規定されていました。


[1] [[WinIE6.0]] って [CODE(HTML)[[[dl]]]]/@[CODE(HTML)[compact=compact]] に対応していたんだ。知らなかった。前から対応していたっけ?

[4] [CODE(HTMLe)[dir]] 要素や [CODE(HTMLe)[menu]] 要素にもこの属性があるのはなんとも奇妙な感じ。
両要素のたどった数奇な運命を考えるといたたまれない。
(そのうえ [CODE(HTMLa)[compact]] 属性もまともに実装してもらえないとなると。)


[8] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:40:24 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L1031>