ばけらの HTML リファレンス(未完成)

bakera.jp > 鳩丸リファレンス > ばけらの HTML リファレンス(未完成) > 要素一覧 > label要素

label要素

要素名バージョン開始タグ終了タグ分類/親中身
label4.0, X1.0, X1.1必須必須%formctrl;(%inline;)* -(label)
属性名バージョン属性値既定値備考
for4.0, X1.0, X1.1IDREF#IMPLIEDmatches field ID value
accesskey4.0, X1.0, X1.1%Character;#IMPLIEDaccessibility key character
onfocus4.0, X1.0, X1.1%Script;#IMPLIEDthe element got the focus
onblur4.0, X1.0, X1.1%Script;#IMPLIEDthe element lost the focus

共通属性 …… %coreattrs;, %i18n;, %events;

labelの解説

label要素を使うと、文字列をコントロールに関連づけることができます。

押しボタンなどは value属性の値がラベルとしてボタン表面に表示されますが、文字入力欄などはラベルを持ちません。特に非視覚系の環境では、その入力欄が何を意味するのか判別するのは困難です。そのような場合、label要素でラベルとなる文字列をコントロールと関連づけておけば、コントロールが何なのかを判別する助けになります。

また、視覚系のブラウザを使っている場合でも、小さなラジオボタンやチェックボックスを正確にポイントしてクリックするのはなかなか骨の折れる作業です。ラベルが付いていると、ラベルをクリックするだけで選択できるようになりますので、クリックするのが非常に楽になります。

ラベルとコントロールを関連づける方法は二通りあります。

一つは for属性を使う方法です。コントロールにあらかじめ id属性を指定しておき、対応する labelの for属性にその ID を指定します。たとえば以下のようにします。

<input type="checkbox" name="option" id="option1" value="1">
<label for="option1">URL をリンクにする</label>

もう一つは、一つの label要素 の中にラベルとコントロールを入れてしまう方法です。その時、label要素内には一つのコントロールしか入れられません。そのコントロールと、label要素内のテキストとが関連づけられます。

<label>
<input type="checkbox" name="option" value="1">
URL をリンクにする
</label>

なぜか MSIE は前者にしか対応していなかったりしますので、前者の方がお勧めです。

label要素には accesskey属性を指定することができます。これによってフォーカスを受け取ったラベルは、対応するコントロールにフォーカスを渡します。

※……ということになっているのですが、Mac IE などではラベル自体が単独でフォーカスを持ってしまったりしてうまく動作しなかったりします。これはバグ以外のなにものでもないのですが、非常に残念な感じです。

最近の日記

関わった本など