フィールドセット

Fieldset は、コンテンツの開閉機能を備えたグループ化コンポーネントです。


import { Fieldset } from 'primereact/fieldset';
         

単純な Fieldset は、legend プロパティと子要素としてのコンテンツを使用して作成されます。

ヘッダー

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.(ダミーテキスト)


<Fieldset legend="Header">
    <p className="m-0">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
        Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </p>
</Fieldset>
         

toggleable オプションが有効になっている場合、fieldset のコンテンツを展開および折りたたむことができます。 開閉可能な fieldset は、制御されたコンポーネントまたは制御されていないコンポーネントとして使用できます。 制御モードでは、コンテンツの状態を管理するために、collapsed プロパティへのバインディングと onToggle イベントが必要です。

ヘッダー

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.(ダミーテキスト)


<Fieldset legend="Header" toggleable>
    <p className="m-0">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
        Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </p>
</Fieldset>
         

凡例セクションは、プリミティブ値の代わりにカスタムコンテンツで定義することもできます。

avatar
Amy Elsner

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.(ダミーテキスト)


<Fieldset legend={legendTemplate}>
    <p className="m-0">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
        Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </p>
</Fieldset>
         

スクリーンリーダー

Fieldset コンポーネントは、セマンティックな fieldset 要素を使用します。 toggleable オプションが有効になっている場合、button ロールを持つクリック可能な要素が legend 要素内に含まれ、このボタンには、コンテンツセクションの ID を定義する aria-controls と、表示状態の aria-expanded があります。 ボタンを読み取る値は、デフォルトで legend プロパティの値になり、aria-label または aria-labelledbytoggleButtonProps プロパティで定義することでカスタマイズできます。

コンテンツは region を使用し、コンテンツ切り替えボタンの aria-controls とヘッダーの ID を参照する aria-labelledby に一致する ID を定義します。

コンテンツ切り替えボタンのキーボードサポート

キー機能
tabページのタブシーケンスで、次にフォーカス可能な要素にフォーカスを移動します。
shift + tabページのタブシーケンスで、前にフォーカス可能な要素にフォーカスを移動します。
enterコンテンツの表示を切り替えます。
スペースコンテンツの表示を切り替えます。