

fieldsetタグとlegendタグとは?
fieldsetタグとは?
fieldsetタグは、HTMLフォーム内で関連する入力項目をグループ化するために使用されるタグです。このタグを使うことで、フォームが視覚的に整理され、ユーザーにとって分かりやすいレイアウトが実現します。また、fieldsetはフォームの構造を明確にする役割を果たし、入力項目の区切りを視覚的に強調する効果があります。
legendタグとは?
legendタグは、fieldsetタグ内のフォームにタイトルを付けるためのタグです。このタグを使用することで、fieldset内に含まれる項目の目的や内容を説明することができます。legendはユーザーに文脈を提供するだけでなく、スクリーンリーダー対応にも役立ち、アクセシビリティを向上させます。
基本的な使い方
fieldsetタグはフォーム要素(formタグ)内で使用され、legendタグはfieldsetタグ内で使用することができます。
<!-- 例 -->
<form>
<fieldset>
<legend>ユーザー情報</legend>
<label for="name">名前:</label>
<input type="text" id="name" name="name">
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email">
</fieldset>
</form>
実装例
フォームのグループ化
フォーム内で「宛先情報」と「依頼主情報」をそれぞれグループ化することで、入力項目を視覚的に整理した例です。これにより、ユーザーは情報を簡単に見つけて入力できるようになります。
※CSSは割愛しています。

<form>
<fieldset>
<legend>宛先情報</legend>
<label for="phone-1">電話番号:</label>
<input type="tel" id="phone-1" name="phone-1">
<label for="address-1">住所:</label>
<input type="text" id="address-1" name="address-1">
</fieldset>
<fieldset>
<legend>依頼主情報</legend>
<label for="phone-2">電話番号:</label>
<input type="tel" id="phone-2" name="phone-2">
<label for="address">住所:</label>
<input type="text" id="address-2" name="address-2">
</fieldset>
</form>
メリットと注意点
メリット
視覚的な区切り
fieldsetタグを使用することで、フォーム内のセクションを明確に分けられます。これにより、ユーザーが各項目の役割を直感的に理解し、入力しやすくなります。
アクセシビリティの向上
legendタグを用いると、スクリーンリーダーがその内容を読み上げ、視覚障害のあるユーザーにフォームの構造や文脈を伝えることができます。この機能は、誰にでも使いやすいウェブフォームを作成する上で重要です。
セマンティックなマークアップ
fieldsetタグとlegendタグを適切に使用することで、HTML構造が意味を持つものになります。このセマンティックなマークアップは、検索エンジンにも適切に解釈されるため、SEO対策としても効果的です。
注意点
過剰な使用は控える
フォームのすべてのセクションにfieldsetを使用すると、視覚的な混乱を招きやすくなります。本当に必要な箇所に絞って使用することで、フォーム全体の見やすさを保つことが重要です。
スタイルの調整
fieldsetとlegendのデフォルトデザインはブラウザによって異なるため、一貫性を保つにはCSSによるカスタマイズが求められます。視覚的な調整を加えることで、よりアクセシビリティが高いフォームを提供できます。
まとめ
fieldsetタグとlegendタグを活用することで、フォームの構造を整理し、ユーザーにとってわかりやすいデザインを提供できます。これらのタグは視覚的な区切りを作るだけでなく、アクセシビリティを向上させ、セマンティックなマークアップにより検索エンジンにも適切に解釈されるというメリットがあります。 一方で、過剰な使用やスタイルの調整不足は混乱を招く可能性があるため、適切な使い方を心がけることが重要です。フォーム設計においてfieldsetとlegendタグを効果的に活用することで、誰にでも使いやすいウェブフォームを構築しましょう。
参考文献
<fieldset>: フィールドセット要素 – HTML: ハイパーテキストマークアップ言語 | MDN
<legend>: フィールドセット凡例要素 – HTML: ハイパーテキストマークアップ言語 | MDN