RailsアプリケーションでHTMLフォームを生成するためにformtasticを使用しています。ただし、私の質問は実際には HTML 関連です。
今日、formtastic がチェックボックス ( :boolean
formtastic 用語のタイプのフィールド) を生成する方法で奇妙な動作を発見しました。
残りのフィールド (チェックボックス以外) は、次のように生成されます。
<li>
<label for="my_textbox_field">My TextBox</label>
<input id="my_textbox_field" type="text" ... >
</li>
ただし、チェックボックスは<label>
タグ内で完全に囲まれています - 次のように:
<li>
<label for="my_boolean_field">
<input id="my_boolean_field" type="checkbox" ... >
This is my boolean field
</label>
</li>
Formtastic の哲学は、 Learning to Love Formsプレゼンテーションに基づいているようです。実際、そのプレゼンテーションのスライド 36 では、この構造がチェックボックスに提案されています。プレゼンテーション自体で、発表者はなぜこれが行われたかを説明したと思いますが、スライドには書かれていません。
<label>
テキストボックスのようにチェックボックスをタグの外側に置くのではなく、タグの内側に囲むのが良い考えである理由を誰か教えてもらえますか?