HTML / Element / Initial coverage

<legend>要素

状態: 初期Coverage 対象: HTML Living Standard 確認日: 2026-09-13

Technical Summary

legend要素は、親のfieldsetに含まれる残りの内容のcaptionを表します。親がoptgroupの場合は、そのoptionグループのlabelを表します。

通常のfieldsetではlegendを最初の子として置きます。これは見た目の枠に文字を重ねるためだけの構文ではなく、グループの意味、disabledの適用境界、アクセシビリティマッピングに関係する条件です。

Definition / Contexts

HTML Standardにおけるlegend要素の基本情報
項目仕様上の概要
Categoriesなし
Contextsfieldset要素の最初の子。また、カスタマイズ可能なselectではoptgroup要素の最初の子
Content model親がfieldsetならphrasing contentにheading contentを交ぜられます。カスタマイズ可能なselect内のoptgroupならinteractive contentとtabindexを含めないphrasing contentです。
Content attributesGlobal attributesのみ
Tag omission開始タグ・終了タグとも省略不可
DOM interfaceHTMLLegendElement。読み取り専用のform IDL属性を持ちます。

legendは、任意の場所に置いて見出しとして使う要素ではありません。仕様上の意味を得る親と位置が決まっており、通常のページ見出しにはh1h6などを使い分けます。

Fieldset caption

<fieldset>
  <legend>連絡方法</legend>
  <label><input type="radio" name="contact" value="email"> メール</label>
  <label><input type="radio" name="contact" value="phone"> 電話</label>
</fieldset>

この構造では、legendがグループ全体のcaptionを担当し、各labelが個別のcontrolの名前を担当します。legendだけで個別のradio buttonのlabelが完成するわけではありません。

グループ名と個別名の分担
構造担当する名前
fieldset関連するcontrolをひとつのグループとして表す連絡方法の選択全体
legendグループのcaption連絡方法
label個別controlのlabelメール、電話

Position and content model

conformingなfieldsetでは、legendは最初の子です。legendの前に説明用のdivpを置くと、仕様上の位置条件を満たしません。

<!-- Conforming structure -->
<fieldset>
  <legend>配送方法</legend>
  <label><input type="radio" name="delivery" value="mail"> 郵送</label>
</fieldset>

<!-- The legend is not the first child -->
<fieldset>
  <p>配送方法を選びます。</p>
  <legend>配送方法</legend>
</fieldset>

親がfieldsetのときは、phrasing contentに加えてheading contentを含められます。ただし、グループのcaptionと文書全体の見出しは別の責務なので、見出しを含めるかどうかは情報設計と支援技術での提示を確認して決めます。

Optgroup boundary

<!-- カスタマイズ可能なselectの文脈 -->
<select name="standard">
  <optgroup>
    <legend>仕様書</legend>
    <option value="html">HTML Standard</option>
    <option value="dom">DOM Standard</option>
  </optgroup>
</select>

現行HTML Standardでは、カスタマイズ可能なselect内のoptgroupの最初の子にもlegendを置けます。この場合、legendのテキストがoptionグループのlabelになります。従来から広く使われる通常のselectでは、optgroup label属性を使う構文もあります。カスタマイズされたselectの描画と通常のselectの実装を同一視しないことが重要です。

Disabled propagation boundary

<fieldset disabled>
  <legend>現在は利用できません</legend>
  <label><input name="plan" value="basic"> ベーシック</label>
</fieldset>

fieldset[disabled]は、最初のlegendの子孫を除き、子孫のフォームcontrolをdisabledとして扱います。例外はlegend要素そのものを「有効なcontrol」にする規則ではなく、最初のlegendの中にあるフォームcontrolの子孫境界です。

disabled伝播を読むときの境界
位置確認すること
最初のlegendの外側子孫のフォームcontrolはdisabledの条件を受ける
最初のlegendの内側このfieldsetのdisabled伝播の例外範囲。controlを置く場合は別途挙動を確認する
最初ではないlegendconformingなfieldset構造として扱わず、最初のlegendだけを前提にした説明を適用しない

DOM Interface

HTMLLegendElementform IDL属性は、legendの親がfieldsetなら、そのfieldsetのform ownerと同じ値を返します。親がfieldsetでなければnullです。

const legend = document.querySelector('fieldset > legend');

legend.form;
// Parent fieldset's form owner, or null

legend instanceof HTMLLegendElement;
// true
HTMLLegendElementの確認点
API意味境界
formlegendのform ownerを返す親がfieldsetの場合はfieldset.formと同じ。その他はnull
HTMLLegendElementlegend要素のDOM interfacelegend自身がform controlになるという意味ではない

Rendering and accessibility

ブラウザーには、fieldsetの枠と最初のlegendを関係付けて描画する特別なrendering規則があります。CSSで枠線や文字の位置を調整すると、見た目の差が生じることがありますが、疑似要素や一般のテキストでlegendの意味を置き換えることはできません。

HTML-AAMでは、legend自体に対応するARIA roleはなく、fieldsetとのlabel関係に使われます。fieldset側はgroup mappingに従い、最初のrendered legendがグループ名に関係します。legendをアクセシビリティツリーから隠す場合、そのlegendは親fieldsetのaccessible nameを提供しません。

Fact / Evidence(主張 / 根拠)

仕様上の主張と実装観測を分離し、親要素、位置、適用条件、確認状態を記録します。

主要Factと根拠位置
種別Fact / 主張条件・範囲状態根拠
SPEClegendは親fieldsetの残りの内容のcaptionを表します。fieldsetの最初の子。確認済みHTML Standard: the legend element
SPEClegendはカスタマイズ可能なselect内の親optgroupのoptionグループのlabelを表すことがあります。optgroupの最初の子。label属性との関係を含む。確認済みHTML Standard: the optgroup element
SPEClegendのcontent modelと使用可能な親は、fieldsetとカスタマイズ可能なselect内のoptgroupで異なります。fieldsetではphrasing contentと任意のheading content、optgroupではinteractive content等を除くphrasing content。確認済みHTML Standard: contexts and content model
SPECHTMLLegendElement.formは、親fieldsetのform ownerと同じ値、またはnullを返します。親がfieldsetかどうかで結果が分かれる。確認済みHTML Standard: HTMLLegendElement
SPECdisabled fieldsetのフォームcontrolは、最初のlegendの子孫にあるものを除いてdisabledの条件を受けます。最初のlegend、入れ子のfieldset、legend内controlの境界。確認済みHTML Standard: disabled attribute
AAMlegendは対応するARIA roleを持たず、親fieldsetとのlabel関係に使われます。HTML-AAMのlegend / fieldset mapping。fieldsetの名前は最初のrendered legendと関係する。仕様確認済みHTML-AAM: legend / fieldset

Evidence

  1. HTML Standard: The legend element — 意味、contexts、content model、属性、DOM interface
  2. HTML Standard: The optgroup element — legendによるoption group labelとlabel属性の関係
  3. HTML Standard: Enabling and disabling form controls — 最初のlegendを含むdisabled境界
  4. HTML Accessibility API Mappings: legend — legendのroleとfieldsetとのlabel関係
  5. HTML Accessibility API Mappings: fieldset — group mappingと最初のrendered legend

Implementation Evidence

仕様上の主張とは別に、ブラウザー実装・WPT・アクセシビリティ観測を記録します。未実施の項目は確認済みとは扱いません。

実測fixture / 環境: 通常のfieldset、最初のlegend、legend内外のcontrol、disabled fieldset、form ownerを持つfieldsetを用意し、DOMとフォーム関連APIを実測しました。Chrome 152.0.0.0(HeadlessChrome / Windows NT 10.0)で2026-09-13に実行しています。描画、Accessibility tree、optgroup内legend、カスタマイズされたselectは未実施です。

legend要素の実装Evidence登録表
種別再現確認の範囲記録する条件状態
IMPL最初のlegend、fieldset内外のcontrol、disabled伝播、legend.form実測結果(Chrome 152.0.0.0 / Windows NT 10.0 / 2026-09-13): 通常のlegendの親はfieldsetで、legend.formevidence-formを返した。fieldset外のlegendのformnull。CSS描画と複数ブラウザー比較は未実施確認済み
IMPLCSSによる描画条件、optgroup内legend、カスタマイズされたselectposition・float・display、通常/カスタマイズselect、表示結果を比較する未実施
WPTdisabled fieldset、legend内外のcontrol、optgroup / customizable selectに関係するテストevent-propagate-disabled.tentative.htmlを関連テストとして実行。2026-09-15 / Chrome 152.0.0.0 / Windows NT 10.0 / wpt.liveで256件中192件がpass、64件はtestdriver-vendor.jsのaction_sequence()未実装で完了せず、legend固有のテストは未実施部分実行(192/256 pass)
AAMfieldsetのgroup、legend由来の名前、legend内control、個別controlのlabelブラウザーAccessibility tree、platform accessibility API、支援技術の読み上げを同じ結果として混同しない未実施

WPTの対応付けにはWPTリポジトリ、アクセシビリティの基準にはHTML-AAMを参照します。ここで挙げた関連テストは、legendのすべての描画・AAM・optgroup挙動を検証済みとするものではありません。

Coverage / Open Issues

  • 確認済みfieldset caption、optgroup label、親と位置、content model、HTMLLegendElement.formの仕様上の入口
  • 確認済みdisabled fieldsetにおける最初のlegendの子孫例外とHTML-AAMのlegend / fieldset mapping
  • 未完了複数ブラウザーにおけるlegendの描画、CSS条件、legend内control、nested fieldsetの比較
  • 未完了optgroup内legendを含むcustomizable selectの実装比較、WPT実行結果、platform API、支援技術の読み上げ

このページは初期Coverageです。legend要素の全仕様、すべてのselect実装、すべてのブラウザーと支援技術における結果の検証完了を主張するものではありません。

Related surface

初心者向けのグループ名と使い方はYugienのlegend要素ページを参照してください。グループ全体はfieldset要素、フォームとの関係はform要素、optionグループのlabelとdisabled境界はoptgroup要素、optionグループ全体の選択モデルはselect要素、個別controlの名前はlabel要素でも確認できます。