1. ホーム
  2. html

[解決済み] なぜfieldsetタグが必要なのですか?

2022-04-20 05:21:13

質問

なぜ <fieldset> というタグがあります。このタグが果たす目的が何であれ、おそらくformタグのサブセットなのでしょう。

W3Schoolsの情報を調べたら、こう書いてあった。

  • <fieldset> タグは、フォーム内の関連する要素をグループ化するために使用されます。
  • その <fieldset> タグは、関連する要素の周囲にボックスを描画します。

なぜ仕様に存在するのか」と「何をするのか」を間違えている人のために、もう少し説明します。 描画の部分は関係ないと思いますし、フォームの中で関連する要素をグループ化するためだけに特別なタグが必要な理由もわかりません。

どのように解決するのか?

一番わかりやすい、実用的な例としては

<fieldset>
  <legend>Colour</legend>

  <input type="radio" name="colour" value="red" id="colour_red">
  <label for="colour_red">Red</label>

  <input type="radio" name="colour" value="green" id="colour_green">
  <label for="colour_green">Green</label>

  <input type="radio" name="colour" value="blue" id="colour_blue">
  <label for="colour_blue">Blue</label>

</fieldset>

これにより、各ラジオボタンにラベルを付けると同時に、グループ全体のラベルも提供することができる。これは、コントロールとその凡例の関連性を視覚的に示すことができない補助技術(スクリーン・リーダーなど)を使用する場合に、特に重要です。