* [CODE(HTMLa)@en[autofocus]] 属性 (HTML、HTML DOM) [1] [[HTML]] の[[フォーム制御子]]の [DFN[[CODE(HTMLa)@en[autofocus]] [[属性]]]]は、 [[焦点]]を自動的にその[[制御子]]に与えるべきことを示します。 [3] [[内容属性]] :状態:[[WHATWG]] [[WD]] :[[要素型]]:[[フォーム制御子]] :[CODE(DOMa)@en[[[type]]]]:[CODE(HTML)@en[[[hidden]]]] と [CODE(HTMLe)@en[[QN[[[output]]][http://www.w3.org/1999/xhtml]]]] を''除く'' :[[属性名]]:[CODE(HTMLa)@en[[[autofocus]]]] :[[属性値]]:[[ブール型属性]] (>>4) :[[既定値]]:[[偽]] (>>5) [9] [[DOM属性]] :状態:[[WHATWG]] [[WD]] :[[界面]]:[CODE(DOMi)@en[[[HTMLInputElement]]]], [CODE(DOMi)@en[[[HTMLTextAreaElement]]]], [CODE(DOMi)@en[[[HTMLSelectElement]]]], [CODE(DOMi)@en[[[HTMLButtonElement]]]] :[[属性名]]:[CODE(DOMa)@en[[[autofocus]]]] :[[型]]:[CODE(IDL)@en[[[boolean]]]] [2] 仕様書: - [[Web Forms 2.0]] -- [CSECTION@en[2.10. The [CODE(HTMLa)@en[[[autofocus]]]] attribute]] ** 内容属性値 [4] [[属性値]]を設定する場合は、 [CODE(DOM)@en[[[autofocus]]]] と[['''するべきです''']]。 [SRC@en[WF2 2.10]] [5] [[#comment]] ** DOM 属性値 [10] '''取得''' [[DOM属性]] [CODE(DOMa)@en[[[autofocus]]]] は、[[内容属性]] [CODE(HTMLa)@en[[[autofocus]]]] が存在していれば、[[属性値]]に関わらず、 [CODE(IDL)@en[[[true]]]] が返される値と[['''しなければなりません''']]。 [[内容属性]]が存在しない場合は [CODE(IDL)@en[[[false]]]] と[['''しなければなりません''']]。 [SRC@en[WF2 2.10]] [11] '''設定''' [[DOM属性]] [CODE(DOMa)@en[[[autofocus]]]] は、[CODE(IDL)@en[[[true]]]] と設定された時には、 [[内容属性]] [CODE(HTMLa)@en[[[autofocus]]]] の[[属性値]]は [CODE(HTML)@en[[[autofocus]]]] と設定[['''しなければなりません''']]。 [CODE(IDL)@en[[[false]]]] と設定された時には、 [[内容属性]] [CODE(HTMLa)@en[[[autofocus]]]] は削除[['''しなければなりません''']]。 [SRC@en[WF2 2.10]] [[#comment]] ** HTML 直列化 [13] ([[XHTML]] ではない) [[HTML]] では、 [PRE(HTML example code)[ ]PRE] と同じ意味で、 [PRE(HTML example code)[ ]PRE] と省略することができます。 [SRC@en[WF2 2.10]] [[#comment]] ** レンダリング [6] [[利用者エージェント]]は、 [[フォーム制御子]]が[[文書]]に[[挿入]]された時、 [CODE(HTMLa)@en[[[autofocus]]]] [[属性]]が設定されているかどうかを確認[['''しなければなりません''']]。 [[利用者エージェント]]は、 [CODE(HTMLa)@en[[[autofocus]]]] [[属性]]が設定されており、 [CODE(HTMLa)@en[[[disabled]]]] では''なく''、その[[環境]]で通常[[焦点]]を当てることができる種類のものであれば、 その[[制御子]]の [CODE(DOMm)@en[[[focus]]]] [[メソッド]]が呼ばれた場合と同じように[[焦点]]を授与[['''するべきです''']]。 [[閲覧領域]]を持つ[[利用者エージェント]]は、 [[焦点]]を当てることが可能かどうかに関わらず、 その[[フォーム制御子]]が可視になるように[[文書]]を[[スクロール]][['''するべきです''']]。 [SRC@en[WF2 2.10]] [8] [[利用者エージェント]]は、 [[利用者]]が[[焦点]]を移して欲しくない場合にこの[[属性]]を無視[['''して構いません''']]。 例えば、[[利用者]]が入力を開始したら、 それ以後 [CODE(HTMLa)@en[[[autofocus]]]] は無視して構いません。 [SRC@en[WF2 2.10]] [14] [[Webブラウザ]]の[[窓]]が[[焦点]]を失っている時に [CODE(HTMLa)@en[[[autofocus]]]] が指定されていても、 [[窓]]が[[焦点]]を得なければならないわけではありません。 [SRC@en[WF2 2.10]] [[#comment]] ** 誤り処理 [7] [[著者]]は、複数の有効な[[要素]]に [CODE(HTMLa)@en[[[autofocus]]]] [[属性]]を設定[['''してはなりません''']]。 複数の要素が [CODE(HTMLa)@en[[[autofocus]]]] な場合、順に >>6 のように処理されるので、 [[文書]]の読込み直後には[[文書順]]で最後の[[焦点]]を当てられる[[フォーム制御子]]が[[焦点]]を得ることになります。 [SRC@en[WF2 2.10]] [[#comment]] ** 例 [12] [PRE(HTML example code)[ ]PRE] この例では、[[文書]]が読込まれると、 [[テキスト欄]]に[[焦点]]が当てられます。 [[#comment]] ** メモ [[#comment]] * メモ [15] [CITE@en[HTML5 Revision Tracker]] ([TIME[2010-07-30 07:56:25 +09:00]] 版) [16] [CITE['''['''whatwg''']''' Two propositions for the autofocus attribute]] ([TIME[2010-08-25 09:09:30 +09:00]] 版)