2015-10-19 5 views

答えて

6

<label>タグは<input>要素のラベルを定義します。

代わりに<span>を使用してください。

for属性は、HTML 4.01仕様のlabelの説明で定義されているように、ラベルをコントロール要素に関連付けます。これは、とりわけ、ラベル要素が(例えばクリックされることによって)フォーカスを受け取るときに、フォーカスを関連するコントロールに渡すことを意味する。ラベルとコントロールとの関連付けは、コントロールを扱う際に、関連するラベルが何であるかを尋ねる方法をユーザーに与えるスピーチベースのユーザーエージェントによっても使用される場合があります。

HTML仕様では、ラベルをコントロールに関連付ける必要はありませんが、Webコンテンツアクセシビリティガイドライン(WCAG)2.0では行いません。これは技術文書H44に記載されています。ラベル要素を使用してテキストラベルをフォームコントロールに関連付けると、forおよびid属性による明示的な関連付けと同じように暗黙的な関連付け(例えば、ラベル内の入力の入れ子による)が広くサポートされていないことが説明されます。

+0

図/スパンよりも、ラベルを使うのはまったく間違っています(HTML仕様ではフォームコントロールに関連付けられている必要があります(ただし、textareasとselectはうまくいきますが、入力する))。 – Quentin

+0

ラベルの暗黙の関連付けが明示的にサポートされていないという前に私は聞いていなかったので、私はこれをフォローアップすることにしました。私はあなたが[H44のユーザーエージェントサポートノート](https://www.w3.org/WAI/WCAG20/Techniques/ua-notes/html#H44)を参照していると思います。注記は、これがWindows XP(IE 6.0)でテストされたことを説明しています。それはかなり時代遅れです。私はこれに関する最新の情報があるかどうかを知ることに興味があります。 –

+0

Windows 10のIE 11でNVDAを使用して[ラベル用Paciello ATテストファイル](https://thepaciellogroup.github.io/AT-browser-tests/test-files/label.html)をチェックしました。ラベルに入れ子になった入力サポートされています。 –

関連する問題