* フォーム制御子系要素 disable 属性 (HTML, XHTML 1)
[2] [[HTML]] のフォーム[[制御子]]系要素の [DFN[[CODE(HTMLa)[disabled]] 属性]]は、
その制御子の利用者入力を無効にします。
指定できる要素型: [CODE(HTMLe)[[[button]]]],
[CODE(HTMLe)[[[input]]]], [CODE(HTMLe)[[[optgroup]]]],
[CODE(HTMLe)[[[option]]]], [CODE(HTMLe)[[[select]]]],
[CODE(HTMLe)[[[textarea]]]]。
[3] 仕様書:
- [[HTML 4]] ([[Web Forms 1.0]])
-- [CITE[17.12.1 Disabled controls]]
[11]
HTML 4 DTD の[[注釈]] (参考) には
[Q[unavailable in this context]]
と説明があります。
([[名無しさん]] [sage])
[15]
あああ
([[名無しさん]] [WEAK[2005-10-28 05:10:12 +00:00]])
[18]
sdさ
([[dさsd]] [WEAK[2006-08-16 01:46:01 +00:00]])
[[#comment]]
** 属性値
[4] この属性は[[真偽値属性]]です。指定すれば真 (無効)、
指定しなければ偽 (有効) です。
[5] この属性は継承しますが、局所宣言が継承値を上書きします [SRC[HTML 4 17.12.1]]。
この規定が適用されるのは、メニュー選択制御子 ([CODE(HTMLe)[select]])
の場合と推定されます。
[[#comment]]
** UA による利用
[6]
無効化された制御子は、
- [[焦点]]を受取りません。 [SRC[HTML 4 17.12.1]]
- タブ navigation ([CODE(HTMLa)[[[tabindex]]]] 参照。) で飛ばされます。
[SRC[HTML 4 17.12.1]]
- [[成功]]できません。 [SRC[HTML 4 17.12.1]]
- [[レンダリング]]は UA 依存です。[SRC[HTML 4 17.12.1]]
-- 例: メニュー項目やボタンの名札を[Q[[[灰化]]]]する。 [SRC[HTML 4 17.12.1]]
[12]
[CITE[CSS Attribute selector bug - My Opera Forums]]
([[名無しさん]])
[[#comment]]
** 他との関係
[7] HTML 的には有効・無効を動的に切り替える方法がなく、
スクリプトを使うことになっています。 [SRC[HTML 4 17.12.1]]
[8] 似たような属性として [CODE(HTMLa)[[[readonly]]]]
があります。利用者の入力を受け付けないという意味では
[CODE(HTMLa)[disabled]] と同じですが、 [CODE(HTMLa)[readonly]]
な制御子は成功するなどの違いがあります。
[14]
aaaaa
([[aaaaaaaa]] [aaaaaaaaa] [WEAK[2005-10-14 07:15:54 +00:00]])
[[#comment]]
** アクセス可能性・可用性・安全性
[10] この属性は、例えば、必須の項目が入力されるまで提出ボタンを無効にする、
といったような目的で使うことができます [SRC[HTML 4 17.12.1]]。
しかし、 HTML だけでは有効・無効状態を動的に切り替えることができませんから、
その機能はスクリプトによって実現する必要があります。
このような場合、初期状態では必須の項目が未入力の状態であるとすると、
提出ボタンの初期状態も[Q[無効]]となるべきです。
従って、 HTML 文書に直接 [SAMP(HTML)[]]
と指定しておきたくなります。しかし、
これは'''好ましくありません'''。なぜなら、
スクリプトが使えない UA やスクリプトを無効にしている利用者は、
この提出ボタンを押してフォームを提出しておくことができなくなってしまいます。
ですから、 HTML 文書の記述は
[PRE(HTML)[
]PRE]
にとどめておき、スクリプトによって最初にこのボタンを無効化するという方法を採るべきです。
[[#comment]]
** 例
[9] 無効な文章入力制御子の例 [SRC[HTML 4 17.12.1]]
[PRE(HTML)[
]PRE]
この例では、この制御子は通常レンダリングされますが、
利用者は編集できませんし、[[提出]]時に使われることもありません。
[17]
aaaaaaaaaaaaaaaaaaaaaaaa
([[aaaaaaaa]] [aaaaaaaaa] [WEAK[2006-03-07 04:06:43 +00:00]])
[[#comment]]
* style 要素 disable 属性 (HTML)
[1] [[WinIE 4]] では [CODE(HTMLe)[[[style]]]] 要素で [CODE(HTMLa)[disabled]]
属性が使えました。うっかりだと [[M$]] の人は書いています:
''RE: The "title" attribute of "style" elements from Chris Wilson on 1999-11-04 ''
(www-html@w3.org from November 1999)'' ''
[16]
ggggggggggggggggggggggggggggggggggggggggggggggggggggg
([[ggggggggggggggggggggggggggggggggggggg]] [WEAK[2005-11-04 05:55:11 +00:00]])
[[#comment]]
* メモ
[13]
[CITE[Bug 84400 - Support :disabled and :enabled pseudo-classes]]
([[名無しさん]] [WEAK[2005-08-31 02:15:00 +00:00]])