* [CODE(HTMLe)@en[form]] 要素、 [CODE(HTMLa)@en[input]] 要素 [CODE(HTMLa)@en[accept]] 属性 (HTML)
[1] [[HTML]] の [CODE(HTMLe)[[[form]]]] 要素・
[CODE(HTMLe)[[[input]]]] 要素の
[DFN[[CODE(HTMLa)[accept]] 属性]]は、
[[フォーム処理エージェント]]が正しく扱うことのできる[[媒体型]]を指定します。
[21]
:状態:[[W3C]] [[勧告]]、[[WHATWG]] [[WD]]
:[[要素型]]:[CODE(HTMLe)@en[[QN[[[form]]] [http://www.w3.org/1999/xhtml]]]]、
[CODE(HTMLe)@en[[QN[[[input]]] [http://www.w3.org/1999/xhtml]]]]
:[CODE(DOMa)@en[[[type]]]]:[CODE(HTML)@en[[[file]]]]、
([CODE(HTMLe)@en[[[form]]]])
:[[属性名]]:[CODE(HTMLa)@en[[[accept]]]]
([Q@en[accept]] ([Q[承認]]) より、
[[HTTP]] の [CODE(HTTP)@en[[[Accept]]:]] [[頭欄]]と同じ)
:[[属性値]]:[[媒体型]]の[[読点]][[区切り]]の[[並び]] (>>2)
:[[既定値]]:すべて (>>4)
[5] 仕様書:
- [[HTML 4]] ([[Web Forms 1.0]])
-- [CODE(HTMLe)[form]] 要素 [CODE(HTMLa)[accept]] 属性
-- [CITE[HTML 4 Changes]]
- [[Web Forms 2.0]]
-- [CSECTION@en[2.15. Extensions to file upload controls]]
-- [CSECTION@en[2.18. Handling unexpected elements and values]]
--
[10]
HTML 4 DTD [[注釈]] (参考) には
[Q[list of MIME types for file upload]]
(ファイルうp用 MIME 型の並び)
と説明があります。
** 属性値
[2] この属性の値は [CODE(SGML)[%[[ContentTypes]]]] です。
[CODE(SGML)[%[[ContentType]]]] を[[読点]]で分離して複数指定できます。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 [SRC[HTML 4 17.3]]
例によって、実際には、読点の前後に[[空白]]を挿入できます。
[21] [[Web Forms 2.0]] では、[[属性値]]の[[構文]]は、
次のように定義されています [SRC@en[WF2 2.15]]:
>
- accept := space* range [ space* "," space* range]* space*
- range := "*/*" | type "/*" | type "/" subtype
- space := U+0020 | U+000A
- type := defined in RFC2045 [RFC2045]
- subtype := defined in RFC2045 [RFC2045]
- [22] 最初と最後や[[読点]]の前後に[[空白]]を挿入可能なことが明確化されていますが、
[[空白]]は [[HTML 4]] の[[空白]]ではなく、
[CODE(charname)@en[[[SPACE]]]] と
[CODE(charname)@en[[[LINE FEED]]]] だけのようです。
- [23] [[HTML 4]] で認められていた純粋な[[媒体型]]だけではなく、
[CODE(MIME)@en[[[*/*]]]] や [CODE(MIME)@en[[[text/*]]]]
のような[[媒体型]]の[[範囲]]で指定[['''して構いません''']]。
[SRC@en[WF2 2.15]]
- [24] [[媒体型]]に[[引数]]を指定できるかは [[HTML 4]]
では曖昧でしたが、 [[Web Forms 2.0]]
では指定[['''してはなりません''']]。
[SRC@en[WF2 2.15]]
[4] この属性は省略可能です。
[SRC@en[HTML 4]]
[28] '''継承'''
- [CODE(HTMLe)@en[[[form]]]] [[要素]]の
[CODE(HTMLa)@en[[[accept]]]] [[属性]]は、
その[[フォーム]]に属するすべての [CODE(HTML)@en[[[file]]]]
[[制御子]]の[[既定値]]となります。
- [CODE(HTML)@en[[[file]]]] の
[CODE(HTMLa)@en[[[accept]]]] [[属性]]が与えられていれば、
その[[制御子]]の属する[[フォーム]]の
[CODE(HTMLa)@en[[[accept]]]] [[属性]]は無視されます。
- [CODE(HTML)@en[[[file]]]] の
[CODE(HTMLa)@en[[[accept]]]] [[属性]]が与えれれていても、
[[非妥当]]なら、 [CODE(MIME)@en[[[*/*]]]]
が指定されたものとみなします。
[SRC@en[WF2 2.15]]
[[#comment]]
** レンダリング
[6] UA は、 [CODE(HTMLa)[accept]] 情報を利用して、
ファイル選択[[制御子]] ([CODE(HTMLe)[[[input]]]] [CODE(HTMLa)[[[type]]]]
[CODE(HTML)[[[file]]]]) で選択できる[[ファイル]]の種類を限定しても構いません
[SRC[HTML 4 17.3]]。
[25] '''ファイル一覧'''
[[利用者エージェント]]は、[[利用者]]に[[ファイル]]を[[一覧]]から選ぶ手段を提供していて、
[[ファイル]]の種類による[[濾過]]を行っているなら、
その構築のために [CODE(HTMLa)@en[[[accept]]]]
[[属性]]の情報を利用[['''するべきです''']]。
[SRC@en[WF2 2.15]]
[26] '''ファイル作成'''
[[利用者エージェント]]は、[[利用者]]が[[ファイル]]を作成し、
その[[ファイル]]を[[うp]]する手段を提供しているなら、
その[[ファイル]]を作成するために使用する[[応用]]を選択するために
[CODE(HTMLa)@en[[[accept]]]] [[属性]]の情報を利用[['''するべきです''']]。
[SRC@en[WF2 2.15]]
;; これは、[[ファイル・システム]]がなく、
その場で[[ファイル]]を作成するしかない小さな[[装置]]上の
[[Webブラウザ]]で特に有用と考えられています。
[SRC@en[WF2 2.15]]
[[#comment]]
** フォーム
[27]
少なくても1つの[[ファイル]]が [CODE(HTMLa)@en[[[accept]]]]
で指定された条件を満足しないなら、
[CODE(DOM)@en[[[typeMismatch]]]] [[旗]]が使われます。
[[利用者エージェント]]は、
[[ファイル]]が誤った[[媒体型]]として[[札付け]]されているときに、
これを[[上書き]]する手段を[[利用者]]に提供[['''して構いません''']]。
[SRC@en[WF2 2.15]]
[32] '''誤り処理'''
[[非妥当]]な値が与えられていた場合、 [[DOM]]
ではそのままの値を使用[['''しなければなりません''']]が、
[[比較]]時 (>>25 や[[提出]]時など) には
[CODE(MIME)@en[[[*/*]]]] として処理[['''しなければなりません''']]。
[SRC@en[WF2 2.18]]
[[#comment]]
** 関連
[3] この属性の値は働きとしては [[HTTP]] の
[CODE(HTTP)[[[Accept]]:]] 頭欄とよく似ていますが、
[CODE(HTTP)[[[q]]]] 値を指定することはできません。
[7] フォームの[[提出]]に使う媒体型の指定は、 [CODE(HTMLa)[accept]]
属性ではなく [CODE(HTMLa)[[[enctype]]]] 属性により行います。
[CODE(HTMLa)[[[accept-charset]]]] 属性は名前や HTTP の頭欄から類推すると
[CODE(HTMLa)[accept]] 属性とセットのように思えますが、
実際には [CODE(HTMLa)[enctype]] 属性と組になっています。
[8] HTML 4 では [CODE(HTMLe)[form]] 要素と [CODE(HTMLe)[input]]
要素に指定できますが、両方に指定した場合の相互作用については規定がありません。
[[#comment]]
** 歴史
[9] [CODE(HTMLe)[form]] 要素の [CODE(HTMLa)[accept]] 属性は、
[[HTML 4]] で追加されました。 [[HTML 4.0]] では仕様書本文内の [[DTD]]
素片や各種 [[DTD]] 本体で [CODE(HTMLa)[accept]] 属性の[[属性定義]]が欠落しており、
仕様書本文の規定だけが存在していました。 [[HTML 4.01]]
で DTD に追加されました [SRC[HTML 4 A.1.1.12]]。
[31]
[[Web Forms 2.0]] で、
[[属性値]]の[[構文]]が拡張され、更に
[CODE(MIME)@en[[[*]]]] が使えるようになりました。
[[#comment]]
** 例
[29] [SRC@en[WF2 2.15]]
[PRE(HTML example code)[
]PRE]
この例では、 [CODE(MIME)@en[[[image/png]]]] ([[PNG]])、
[CODE(MIME)@en[[[image/jpeg]]]] ([[JPEG]] [[JFIF]])、
[CODE(MIME)@en[[[image/svg+xml]]]] ([[SVG]])
などを[[うp]]できます。
[30] '''音声日記の執筆フォームの例''' [SRC@en[WF2 2.15]]
[PRE(HTML example code)[
]PRE]
[[利用者エージェント]]は、[[ファイル]]を選択するための[Q[[[参照]]]]ボタンの代わりに、
または一緒に、
[Q[[[録音]]]]ボタンを提供することができます。
[Q[[[録音]]]]ボタンを押すと、
[[録音]]のための[[応用]]が起動します。
[[#comment]]
** メモ
[33]
[CITE@en['''['''WF2''']''' HTMLFormElement.accept vs. function accept(){}]] ([[Simon Pieters]] 著, [TIME[2008-02-21 02:07:17 +09:00]] 版)
([[名無しさん]])
[[#comment]]
* [CODE(HTMLe)@en[textarea]] 要素 [CODE(HTMLa)@en[accept]] 属性 (HTML)
[11] [[HTML]] の [CODE(HTMLe)@en[[[textarea]]]] [[要素]]の
[DFN[[CODE(HTMLa)@en[accept]] [[属性]]]]は、
期待される内容の[[媒体型]]を示します。
[12]
:状態:[[WHATWG]] [[WD]]
:[[要素型]]:[CODE(HTMLe)@en[[QN[[[textarea]]] [http://www.w3.org/1999/xhtml]]]]
:[[属性名]]:[CODE(HTMLa)@en[[[accept]]]]
([Q@en[accept]] ([Q[承認]]) より、 [CODE(HTMLe)@en[[[form]]]]
[[要素]]の [CODE(HTMLa)@en[[[accept]]]] [[属性]]や
[[HTTP]] の [CODE(HTTP)@en[[[Accept]]:]] [[頭欄]]とおなじ)
:[[属性値]]:
:[[既定値]]:
[13] 仕様書:
- [[Web Forms 2.0]]
-- [CSECTION@en[12.14. Extensions to the [CODE(HTMLe)@en[[[textarea]]]] element]]
** 属性値
[15] '''属性値'''
[[属性値]]は、[[テキスト]]系[[媒体型]]名と[['''しなければなりません''']]。
[[引数]]があっても構いません。
[SRC@en[WF2 2.14]]
[16] '''既定値'''
この[[属性]]が省略された場合や[[利用者エージェント]]が認識できない値の場合の[[既定値]]は、
[CODE(MIME)@en[[[text/plain]]]] と[['''しなければなりません''']]。
[SRC@en[WF2 2.14]]
[[#comment]]
** レンダリング
[14]
[[利用者エージェント]]は、
この[[属性]]を、より適切な[[編集器]]、
[[構文]]着色、[[綴り検査器]]等を提供するために使用[['''して構いません''']]。
[SRC@en[WF2 2.14]]
[[#comment]]
** 関連
[17]
[CODE(HTMLe)@en[[[form]]]] [[要素]]や
[CODE(HTMLe)@en[[[input]]]] [[要素]]の同名の
[CODE(HTMLa)@en[[[accept]]]] [[属性]]は、
[[ファイル・アップロード制御子]]のためのもので、
[[意味]]も[[構文]]も異なっています。
[SRC@en[WF2 2.14]]
[[#comment]]
** 例
[18] [SRC@en[WF2 2.14]]
[PRE(HTML example code)[
accept="text/plain"
]PRE]
[19] [SRC@en[WF2 2.14]]
[PRE(HTML obsolete example code)[
accept="message/news"
]PRE]
[20] [SRC@en[WF2 2.14]]
[PRE(HTML example code)[
accept="image/svg+xml"
]PRE]
[[#comment]]
** メモ
[[#comment]]
* [CODE(XMLe)@en[app:accept]] 要素
[34] [[AtomPub]] の [DFN[[CODE(XMLe)@en[app:[[accept]]]] [[要素]]]]は、
[[集成]]に [CODE(HTTP)@en[[[POST]]]] することができる[[表現]]の[[媒体範囲]]を表します
[SRC@en[[[AtomPub]]]]。
:[[局所名]]:[CODE(XMLe)@en[[[accept]]]]
:文脈:[CODE(XMLe)@en[app:[[collection]]]] の[[子要素]]として
:[[内容モデル]]:[[媒体範囲]]
:[[属性]]:
仕様書:
[CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 18:52:14 +09:00]] 版)
** 内容
[35] この[[要素]]の値は [[RFC 2616]] で定義されている[[媒体範囲]]です。
この[[要素]]は [[HTTP]] の [CODE(HTTP)@en[[[Accept]]:]] [[頭欄]]と似ています。
[[媒体型引数]]を指定することもできます。しかし、
優先度はなく、 [[RFC 2616]] で規定されている [CODE(ABNF)@en[[[accept-params]]]]
([CODE(HTTP)@en[[[q]]]] [[引数]]など) は意味を持ちません。
[SRC@en[[[AtomPub]]]]
;; [40] ということは、 [CODE(HTTP)@en[[[q]]=0]] は正反対の意味を持つことになります。
[36] [[媒体範囲]]の周りには [[XMLの空白]]を含めることができますが、
意味を持たず、無視しなければ[['''なりません''']] [SRC@en[[[AtomPub]]]]。
[37] [[媒体範囲]]には [CODE(MIME)@en[[[application/atom+xml;type=entry]]]]
を含めることができます。この値は [[Atomエントリー文書]]を表します。
[SRC@en[[[AtomPub]]]]
[39] この[[要素]]が[[空]]の場合、[[クライアント]]は[[集成]]が新しい[[エントリー]]の作成に対応していないものと考える[['''べきです''']]。
;; [43] この[[要素]]は複数使えますが、その場合どうなるのでしょう?
** 既定値
[38] この[[要素]]が指定されなかった場合、クライアントは
[CODE(MIME)@en[[[application/atom+xml;type=entry]]]] が指定されたのと[[等価]]に扱う[['''べきです''']]。
* メモ
[44] [CITE@en[Web Applications 1.0 r7057 Introduce extensions in accept=''.]]
( ([TIME[2012-04-19 08:22:00 +09:00]] 版))