* [CODE(HTMLe)[menu]] 要素型 (HTML, XHTML 1)
[1] [ABBR[[[HTML]]] [ハイパーテキスト・マーク付け言語]] の
[DFN[[CODE(HTMLe)[menu]] 要素型]]の要素 (menu list)
は、単一行表示の並びを表します。
この要素は HTML 4 では'''非推奨'''で、代わりに [CODE(HTMLe)[[[ul]]]]
を使うことが強く推奨されています。
[4]
仕様書:
- [[HTML 4]]
--
[2]
:[[開始タグ]]:必須
:[[終了タグ]]:必須
:[[内容模型]]:[CODE(SGML)[([CODE(HTMLe)[[[li]]]])+]]
:出現できる文脈:[CODE(SGML)[%[[list]];]] な文脈
:[[属性]]:
,属性名 ,属性値 ,既定値 ,説明 ,出典
,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]]
,[CODE(HTMLa)[[[compact]]]] ,([[真偽値属性]]) ,([[偽]]) ,コンパクト表示 ,[HTML4] 非推奨
,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]]
,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr
,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n
,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1]
,[CODE(HTMLa)[[[onclick]]]] , , , ,[HTML4] %[[events]]
,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmousemove]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events
,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr
,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr
,[CODE(HTMLa)@en[[[type]]]] , , , ,非標準 ,[Vodafone]
[[#comment]]
** 代替
[5] この要素型は'''非推奨'''です [SRC[HTML 4]]。
代わりに [CODE(HTMLe)[[[ul]]]] 要素型を使うことができます
(要素型名を書き換えるだけで OK)。
特定のレンダリングが望ましければ、[[スタイル・シート]]で指定できます。
[[#comment]]
** 内容
[7] [CODE(HTMLe)[menu]] の内容は [CODE(HTMLe)[[[li]]]]
要素で、 [CODE(HTMLe)[li]] 要素1つが1つのメニュー項目を表します。
元々 [CODE(HTMLe)[menu]] は単一行のメニュー項目で構成されるリストですから、
[CODE(HTMLe)[menu]] の子供の [CODE(HTMLe)[li]]
の[[内容]]として[[ブロック水準要素]]を使うことはできません。
この制約は [[HTML 4]] などでは [ABBR[[[DTD]]] [文書型定義]]
で明示されていますが、 [[XHTML 1]] では曖昧
(または無記述) になっています。
[[#comment]]
** レンダリング
[3] HTML 4 仕様書が
[Q[The [CODE(HTMLe)[MENU]] element was designed to be used for single column menu lists.]]
と言っているように、 [CODE(HTMLe)[menu]] は[[物理要素]]であり、
特定のレンダリングを想定しています。
しかし、 [[Classic Mozilla]] や [[WinIE]] をはじめとして、
ここ数年のほとんどのブラウザは、 [CODE(HTMLe)[[[ul]]]]
と同じようにレンダリングします。
[[#comment]]
** 他との関係
[6] 似たような要素型に [CODE(HTMLe)[[[dir]]]]
(ディレクトリ・リスト) と [CODE(HTMLe)[[[ul]]]]
(順序なしリスト) があります。
[CODE(HTMLe)[dir]] は [CODE(HTMLe)[dir]] は
[CODE(HTMLe)[menu]] より更に簡潔に表示され得るリストですが、
[CODE(HTMLe)[menu]] と共に'''非推奨'''とされています。
[CODE(HTMLe)[ul]] は順序に深い意味がないリストのための汎用の要素型です。
[CODE(HTMLe)[menu]] や [CODE(HTMLe)[dir]] の代わりに
[CODE(HTMLe)[ul]] を用いるのが望ましいとされています。
[[#comment]]
** メモ
[8]
[[Line Mode Browser]] 1.2a (1992年2月?) で、
将来使用するためとして[CODE(HTMLe)@en[[[dir]]]]と[CODE(HTMLe)@en[[[menu]]]]が導入されています。
;; [CITE@en[Change History of Line Mode Browser]]
([[名無しさん]] [sage])
[9]
[CITE@ja[menu要素型とnl要素型とnav要素型 (kuruman.org > Kuruman Memo)]] ([CODE[2006-09-09 01:47:03 +09:00]] 版)
([[名無しさん]] [WEAK[2007-06-09 15:23:16 +00:00]])
[10]
[CITE[TRANS - Re: Re: XHTML+CSS (r)evolution, 3rdの内容は信ずるに値するか?]] ([CODE[2007-06-06 22:35:42 +09:00]] 版)
([[名無しさん]] [WEAK[2007-06-09 15:31:38 +00:00]])
[11]
>>9-10 [[HTML 5]] が [CODE(HTMLe)@en[[[menu]]]]
を再利用しているのに言及しないのは片手落ち。
([[名無しさん]] [WEAK[2007-06-09 15:35:40 +00:00]])
[12] [CITE[Re: Web Applications 1.0 and Menu Labels]] ([[Ian Hickson ]] 著, [TIME[2008-11-18 07:54:59 +09:00]] 版)
[13] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-08-23 15:53:44 +09:00]] 版)
[14] [CITE[IRC logs: freenode / #whatwg / 20090808]]
([TIME[2009-10-06 23:37:54 +09:00]] 版)
[15] [CITE[IRC logs: freenode / #whatwg / 20100413]]
([TIME[2010-04-28 00:16:26 +09:00]] 版)
[16] [CITE[617528 – implement the HTML5 "context menu" feature (contextmenu attribute)]]
( ([TIME[2012-11-28 00:42:34 +09:00]] 版))