Field
ラベル、コントロール、エラーのラッパー。
- ブラウザー
- Chrome 123+Firefox 121+Safari 17.5+
- ティア
- 0
- 圧縮後のサイズ
- 668 B
- 強制レイアウトの上限
- 0 ms
- axe の上限
- 0
- SSR 対応
- はい
- 公開された契約
- テストハーネス
プレイグラウンド
Field
Default
Your display name
Invalid
Enter a valid email address
Password
Use at least eight characters.
Message
Up to 500 characters.
Disabled
Read only
API
Field.Root
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
id* | string | — | 各パーツがfieldIdとして受け渡す安定したID。サーバーマークアップ内でラベル、コントロール、説明、エラーをつなぎます。 |
invalid | boolean | false | フィールドを無効な値として示し、スタイリング用のdata-invalidを公開します。 |
required | boolean | false | フィールドを必須とし、スタイリング用のdata-requiredを公開します。 |
disabled | boolean | false | フィールドを無効にし、スタイリング用のdata-disabledを公開します。 |
name | string | — | API互換性のため受け取ります。nameはコントロールに指定するもので、ラッパーには描画しません。 |
render | ReactElement | ((props, state) => ReactElement) | — | 動作とアクセシビリティの接続を維持したまま、描画する要素を置き換えます。 |
Field.Label
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
fieldId* | string | — | Field.Rootと同じID。コントロールを指すhtmlForを解決します。 |
disabled | boolean | false | ラベルを無効にし、スタイリング用のdata-disabledを公開します。 |
required | boolean | false | ラベルを必須とし、スタイリング用のdata-requiredを公開します。 |
Field.Control
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
as | ElementType | "div" | input、textarea、select、独自のコントロールを使います。ネイティブprops、イベントハンドラー、style、refを転送します。 |
type / name / autoComplete / minLength / maxLength / pattern / readOnly | native control props | — | type="password"などの入力オプションはField.Controlに指定します。標準の検証とFormDataのセマンティクスを維持します。 |
fieldId* | string | — | Field.Rootと同じID。コントロールのIDと、aria-labelledby、aria-describedbyによる接続を解決します。 |
disabled | boolean | false | ネイティブのdisabledをinput、textarea、selectに転送し、data-disabledを公開します。 |
invalid | boolean | false | aria-invalidを設定し、コントロールのaria-describedbyにエラーメッセージを追加します。 |
required | boolean | false | ネイティブのrequiredをinput、textarea、selectに転送し、aria-requiredを設定します。 |
render | ReactElement | ((props, state) => ReactElement) | — | 動作とアクセシビリティの接続を維持したまま、描画する要素を置き換えます。 |
Field.Description
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
fieldId* | string | — | Field.Rootと同じID。コントロールが参照する説明のIDを解決します。 |
disabled | boolean | false | 説明を無効として示し、スタイリング用のdata-disabledを公開します。 |
Field.Error
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
fieldId* | string | — | Field.Rootと同じID。値が無効な場合にコントロールが参照するエラーのIDを解決します。 |
invalid | boolean | false | エラーメッセージを描画します。falseの間、このパーツは何も描画しません。 |
キーボード
| キー | 操作 |
|---|---|
| Tab | コントロールへ、またはコントロールからフォーカスを移動 |
| Enter / Space | フォーカス時に実行(ボタン型のコントロール) |
アクセシビリティ
可能な限りセマンティックHTMLを使います。プレイグラウンドで描画されたマークアップを確認できます。ARIAはネイティブ要素だけでは足りない場合にのみ追加します。
スタイリングのフック
data-disabled