* [CODE(HTMLe)@en[datalist]] 要素 (HTML)

[1] [[HTML]] の [DFN[[CODE(HTMLe)@en[datalist]] [[要素]]]]は、
[CODE(HTMLe)@en[[[input]]]] [[要素]]の入力値の候補のリストを提供します。

[4] [CODE(HTMLe)@en[[[datalist]]]] [[要素]]は、
選択肢を [CODE(HTMLe)@en[[[option]]]] [[要素]]により提供する他に、
[[Web Forms 2.0]] に対応していない[[利用者エージェント]]のための
[[fallback]] の[[内容]]を含めることができます。
[SRC@en[WF2 2.12]]

[2] 
:状態:[[WHATWG]] [[WD]]
:[[名前空間URI]]:[CODE(URI)@en[[[http://www.w3.org/1999/xhtml]]]]
:[[要素型名]]:[CODE(HTMLe)@en[[[datalist]]]]
([Q@en[data list]] ([Q[[[データ]]の[[並び]]]]) より)
:文脈:>>10
:[[内容モデル]]:>>9
:[[開始タグ]]:必須
:[[終了タグ]]:必須
:[[属性]]:
[[共通属性]]、
,[[属性名]],[[属性値]],[[既定値]],説明,状態,出典
,[CODE(HTMLa)@en[[[data]]]],[[URI]],(なし),選択肢,[[WHATWG]] [[WD]],[[Web Forms 2.0]]

[3]
仕様書: 
- [[Web Forms 2.0]]
-- [CSECTION@en[2.12. The [CODE(HTMLe)@en[[[datalist]]]] element and the [CODE(HTMLa)@en[[[list]]]] attribute]]
<IW:WF2:"#the-datalist">

** 文脈

[10]
[CODE(HTMLe)@en[[[datalist]]]] [[要素]]は、
- [[ブロック水準要素]]が認められる場所または
- [CODE(HTMLe)@en[[[select]]]] [[要素]]が認められる場所

で使用[['''して構いません''']]。
[SRC@en[WF2 2.12]]

[[#comment]]

** 内容

[9]
[[著者]]は、 [CODE(HTMLe)@en[[[datalist]]]]
[[要素]]の[[子供]]として、
- [[空]]の [CODE(HTMLe)@en[[[option]]]] [[要素]]と
- [CODE(HTMLe)@en[[[datalist]]]] [[要素]]の[[親]]で認められている[[要素]]

だけを使用[['''しなければなりません''']]。
[SRC@en[WF2 2.12]]

[[#comment]]

* レンダリング

[5]
[[利用者エージェント]]が [CODE(HTMLe)@en[[[datalist]]]]
[[要素]]に対応している場合は、
[[表示]][['''するべきではありません''']]。
[[CSS]] に対応している[[利用者エージェント]]では、
[[利用者エージェント・スタイル・シート]]に次の[[規則]]
(と等価なもの) を含めることによりこれを実現[['''するべきです''']]。

[PRE(CSS code)[
@namespace xh url(http://www.w3.org/1999/xhtml);
xh|datalist { display: none; }
]PRE]

[13] [[Gecko]] は [CODE(HTMLa)@en[[[title]]]] [[属性]]を[[レンダリング]]しません。
(仕様上も特に求められていません。)

[14] [[Gecko]] は [[CSS]] で [CODE(HTMLe)@en[[[datalist]]]] [[要素]]や 
[CODE(HTMLe)@en[[[option]]]] [[要素]]に[[スタイル]]を指定していても反映させません。
(仕様上も特に求められていません。)

[15] [[Gecko]] はラベルと値から部分一致でフィルタリングしたものを出しますが、
[[Opera]] は先頭一致でフィルタリングしたものを出します。 [TIME[2011-06-25T04:38:15.800Z]]

[16] [[Gecko]] はラベルだけをレンダリングしますが、 [[Opera]] は両方レンダリングします。

* フォーム

[6]
[[自動補完]]の値の[[並び]]は、
([[制御子]]の [CODE(HTMLa)@en[[[list]]]] [[属性]]で指定された
[CODE(HTMLe)@en[[[datalist]]]] [[要素]]または
[CODE(HTMLe)@en[[[select]]]] [[要素]]で)
[CODE(DOMm)@en[[[getElementsByTagName]]]]
[[メソッド]]に [CODE(HTMLe)@en[[[option]]]]
を指定して得られる[[要素]]
([[XHTML]] では [CODE(DOMm)@en[[[getElementsByTagNameNS]]]]
に [CODE(URI)@en[[[http://www.w3.org/1999/xhtml]]]]
と [CODE(HTMLe)@en[[[option]]]])
から作成[['''しなければなりません''']]。
[SRC@en[WF2 2.12]]

[7] >>6 で得た各[[要素]]のうち、
[CODE(HTMLa)@en[[[disabled]]]]
で''ない''ものについて、[[自動補完]]の値は、
[CODE(HTMLa)@en[[[value]]]] [[内容属性]]の値か、
この[[属性]]がなければ、 [CODE(DOMa)@en[[[text]]]]
[[DOM]] [[属性]]の値となります。
[[利用者エージェント]]は、[[利用者界面]]において
[CODE(HTMLa)@en[[[label]]]] [[属性]]の値を示[['''して構いません''']]。
[SRC@en[WF2 2.12]]

[8]
[CODE(HTMLa)@en[[[disabled]]]] な[[要素]]、
[[自動補完]]の値が[[空文字列]]な[[要素]]、
[[自動補完]]の値がその[[制御子]]の [CODE(HTMLa)@en[[[type]]]]
に照らして[[非妥当]]な値である[[要素]]は、
無視[['''しなければなりません''']]。
[SRC@en[WF2 2.12]]

[11] '''[CODE(HTMLe)@en[datalist]] 内のフォーム制御子'''

[CODE(HTMLe)@en[[[datalist]]]] [[要素]]内の[[フォーム制御子]]は、
[[成功]]と[['''してはなりません''']]。
(が、[[利用者エージェント]]は依然として[[フォーム]]に関連付け[['''しなければなりません''']]。)
[SRC@en[WF2 2.12]]

[12]
[CODE(HTMLe)@en[[[datalist]]]] [[要素]]で使う
[CODE(HTMLe)@en[[[option]]]] [[要素]]の[[内容属性]]
[CODE(HTMLa)@en[[[selected]]]]、
[[DOM属性]] [CODE(DOMa)@en[[[form]]]],
[CODE(DOMa)@en[[[selected]]]],
[CODE(DOMa)@en[[[defaultSelected]]]],
[CODE(DOMa)@en[[[index]]]]
が [CODE(HTMLe)@en[[[input]]]] [[要素]]や
[CODE(HTMLe)@en[[[datalist]]]] [[要素]]に影響[['''してはなりません''']]。
[SRC@en[WF2 2.12]]

[[#comment]]

** 例

→ [CODE(HTMLa)@en[[[list]]]]

* 歴史

** WF2

[28] 
[TIME[2004-06-27]]時点の [CITE[WF2]] 意見募集用案には [CODE[datalist]] 
がありませんでした。

[29] 
[TIME[2004-06-30]]に [[Ian Hickson]] がそれまでの意見を集約して仕様案を[[メーリングリスト]]で提示しています。
[SRC[>>27]]
これが [CODE[datalist]] の初出です。

[30] 
[TIME[2004-06-30]]付 [CITE[WF2]] [[WD]] があったことが記録に残りますが、
現存は確認されておらず内容は不明です。

[35] 
当時の [CITE[WF2]] はときに一日数回レベルの勢いで頻繁に更新されていましたから、
この時点で [CODE[datalist]]
が仕様に追加されていた可能性は高いですが、確証はありません。

[31] 
[TIME[2004-07-15]]付 [CITE[WF2]] [[WD]] には [CODE[datalist]]
の規定が含まれています。

[34] 
それより前の[TIME[2004-07-07]]時点で編集上のミスを指摘するメールが有り [SRC[>>33]]、
[TIME[2004-07-09]]に修正したと [[Ian Hickson]] が返信しています。

[REFS[

-
[27] [CITE['''['''whatwg''']''' Re: several messages]], 
[[Ian Hickson]],
Wed Jun 30 16:35:19 PDT 2004,
[TIME[2024-08-20T17:41:27.000Z]], [TIME[2024-09-01T05:03:01.589Z]] <https://lists.whatwg.org/pipermail/whatwg-whatwg.org/2004-June/043072.html>
-- [32] 
[CITE['''['''whatwg''']''' Re: several messages]], [TIME[2024-08-20T17:41:27.000Z]], [TIME[2024-09-01T05:09:51.617Z]] <https://lists.whatwg.org/pipermail/whatwg-whatwg.org/2004-July/043099.html>
- [33] [CITE['''['''whatwg''']''' Datalist missing from XHTML5B module definition]], [TIME[2024-08-20T17:41:27.000Z]], [TIME[2024-09-01T05:17:34.479Z]] <https://lists.whatwg.org/pipermail/whatwg-whatwg.org/2004-July/043318.html>



]REFS]



[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[datalist]]
:日付:[TIME[2004-06-30]]
:説明:
[TIME[2004-06-30]]、
[[Ian Hickson]] は 
[[WHATWG]] [[メーリングリスト]]への投稿で
[CODE[datalist]]
案を示した。
これと前後して、遅くても[TIME[2004-07-07]]までに、
[CITE[Web Forms 2.0]] 
に
[CODE[datalist]]
が追加された。
現行仕様である。
:出典:
[REFS[

-
[DFN[Hixie20040630]]:
[CITE@en[Re: several messages]], 
[DATA(.author)[[[Ian Hickson]]]],
[TIME(.published)[Wed Jun 30 16:35:19 PDT 2004][2004-06-30T16:35:19-07:00]],
[TIME[2024-08-20T17:41:27.000Z]], [TIME[2024-09-01T05:03:01.589Z]] <https://lists.whatwg.org/pipermail/whatwg-whatwg.org/2004-June/043072.html>

]REFS]

]FIG]

** HTML5


[71] 
[CITE@en['''['''''']''' (0) WF2: <datalist> element summary.]], [[Hixie]], [TIME[2008-09-04 20:04:35 +09:00]], [TIME[2024-09-04T13:07:04.000Z]] <https://github.com/whatwg/html/commit/332cebecd184742e7598d76318775aed688b1dab>

[FIG(data)[ [70] [[HTML要素概説]]

:[F[要素名]]:[CODE[datalist]]
:日付:[TIME[2008-09-04]]
:説明:
[TIME[2008-09-04]]、
[CITE[HTML5]]
に
[CODE[datalist]]
が追加された。
:出典:
[REFS[

-
[CITE[HTML5 r2150]],
[DATA(.author)[[[Hixie]]]], 
[TIME(.published)[2008-09-04 20:04:35 +09:00]], [TIME[2024-09-04T13:07:04.000Z]] <https://github.com/whatwg/html/commit/332cebecd184742e7598d76318775aed688b1dab>

]REFS]

]FIG]




[17] [CITE[''''''[''''''whatwg'''''']'''''' Why children of datalist elements are barred from constraint validation?]]
( ([TIME[2011-07-30 04:12:06 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-July/032681.html>

[18] [CITE[''''''[''''''whatwg'''''']'''''' Why children of datalist elements are barred from constraint validation?]]
( ([TIME[2012-06-08 08:05:14 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036317.html>

[19] [CITE['''['''whatwg''']''' Search-suggestions without scripting]]
([TIME[2012-06-14 09:13:58 +09:00]] 版)
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036393.html>

[20] [CITE@en[Web Applications 1.0 r8473 note to self regarding datalist content model]]
( ([TIME[2014-02-07 08:12:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8472&to=8473>

[21] [CITE@en[Web Applications 1.0 r8695        Catch up with recent changes that were made while the pipeline was down. Sorry for jamming all these changes into one patch.]]
( ([TIME[2014-08-02 01:30:00 +09:00]] 版))
<http://html5.org/r/8695>

[22] [CITE@en[Web Applications 1.0 r8792     Suggest that browsers filter the list='' suggestions if there's more than 4 to 7.]]
( ([TIME[2014-09-20 03:35:00 +09:00]] 版))
<https://html5.org/r/8792>

[23] [CITE@en[Bug 27247 – Master bug of datalist element and list attribute implementation]]
([TIME[2015-03-31 11:12:06 +09:00]] 版)
<https://bugs.webkit.org/show_bug.cgi?id=27247>

[24] [CITE@en[Make label-less empty option OK if datalist child · whatwg/html@3885f11]]
([TIME[2016-03-13 21:13:08 +09:00]] 版)
<https://github.com/whatwg/html/commit/3885f11503431c1bb33c3bb4bf1b9d5d9bcdae61>

[25] [CITE@en[Add concrete suggestions for datalist display and matching]]
([[domenic]]著, [TIME[2016-10-29 01:13:06 +09:00]])
<https://github.com/whatwg/html/commit/e13124544e571f69ae283225c3ea17f209f986a7>

[26] [CITE@en[Safari 12.1 Release Notes | Apple Developer Documentation]]
([TIME[2019-02-10 12:07:52 +09:00]])
<https://developer.apple.com/documentation/safari_release_notes/safari_12_1_release_notes>