fieldsetタグの使い方とフォームのグループ化方法をわかりやすく解説

スポンサーリンク
スポンサーリンク

fieldsetの概要

フォームの入力要素をグループ化 HTMLタグ

<fieldset>フォーム要素</fieldset>

概要 fieldsetタグは、フォーム内の入力項目をグループ化し、視覚的にも意味的にも区別するためのタグです。

  • フォーム内の関連する入力フィールドをグループ化できる。
  • legendタグを使用すると、グループのタイトルを設定できる。
  • アクセシビリティ向上や、ユーザーがフォームの構造を理解しやすくなる。

fieldsetタグの主な属性

属性 説明 使用例
disabled fieldset内の全要素を無効化 <fieldset disabled></fieldset>
name JavaScriptでアクセスするための名前 <fieldset name="user_info"></fieldset>
form 関連付けるフォームのIDを指定 <fieldset form="myForm"></fieldset>

fieldsetタグの基本的な使い方

以下の例では、fieldsetタグを使って個人情報入力欄をグループ化しています。

<form>
    <fieldset>
        <legend>個人情報</legend>
        <label for="name">名前:</label>
        <input type="text" id="name" name="name">
        <br>
        <label for="email">メールアドレス:</label>
        <input type="email" id="email" name="email">
    </fieldset>
</form>

実行例:

個人情報


fieldsetタグの応用:複数のグループ化

以下の例では、異なるカテゴリの入力項目をそれぞれのfieldsetでグループ化しています。

<form>
    <fieldset>
        <legend>ログイン情報</legend>
        <label for="username">ユーザー名:</label>
        <input type="text" id="username" name="username">
        <br>
        <label for="password">パスワード:</label>
        <input type="password" id="password" name="password">
    </fieldset>
    
    <fieldset>
        <legend>住所情報</legend>
        <label for="address">住所:</label>
        <input type="text" id="address" name="address">
        <br>
        <label for="city">市区町村:</label>
        <input type="text" id="city" name="city">
    </fieldset>
</form>

実行例:

ログイン情報


住所情報


注意事項

  • legendタグを使わないと、fieldsetの目的が明確にならず、アクセシビリティが低下する。
  • fieldsetのdisabled属性を使用すると、内部のすべてのフォーム要素が無効化される。
  • CSSでfieldsetの枠線を変更することで、デザインの調整が可能。
  • fieldsetを使いすぎると、逆にフォームが複雑になりすぎるため適切なグループ化が重要。

よくある質問

Q: fieldsetタグとdivタグの違いは?
A: fieldsetタグはフォーム要素をグループ化し、視覚的な枠線と論理的な区分を提供するが、divタグは汎用のコンテナとして使用される。
Q: fieldsetタグの枠線を消す方法は?
A: CSSでborder: none;を指定すれば枠線を非表示にできる。

fieldset {
    border: none;
}
Q: fieldsetタグの中に他の要素を入れてもよいですか?
A: はい、fieldsetタグの中にはフォーム要素だけでなく、説明文やボタンなども配置できます。
Q: fieldsetタグのデフォルトスタイルは?
A: デフォルトでは枠線が付き、legendタグのテキストが枠線の左上に配置される。

まとめ

  • fieldsetタグは、フォームの入力要素を論理的にグループ化するために使用する。
  • legendタグを使用することで、グループにタイトルを付けられる。
  • disabled属性を使うと、fieldset内のすべてのフォーム要素を無効化できる。
  • CSSを活用して、fieldsetの枠線や余白を調整できる。
  • 適切なグループ化によって、ユーザーがフォームをより理解しやすくなる。