Field
Обёртка для подписи, элемента управления и ошибки.
- Браузеры
- Chrome 123+Firefox 121+Safari 17.5+
- Уровень
- 0
- Сжатый размер
- 668 B
- Лимит принудительной компоновки
- 0 ms
- Лимит axe
- 0
- Совместим с SSR
- Да
- Публичный контракт
- Тестовый стенд
Песочница
Field
По умолчанию
Your display name
Invalid
Enter a valid email address
Password
Use at least eight characters.
Message
Up to 500 characters.
Отключена
Read only
API
Field.Root
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
id* | string | — | Стабильный идентификатор, который каждая часть передаёт как fieldId, связывая подпись, элемент управления, описание и ошибку в серверной разметке. |
invalid | boolean | false | Помечает поле невалидным и отражает это в data-invalid для оформления. |
required | boolean | false | Помечает поле обязательным и отражает это в data-required для оформления. |
disabled | boolean | false | Помечает поле отключённым и отражает это в data-disabled для оформления. |
name | string | — | Принимается для совместимости API; имя относится к элементу управления и не выводится на обёртке. |
render | ReactElement | ((props, state) => ReactElement) | — | Заменяет отображаемый элемент, сохраняя поведение и связи доступности. |
Field.Label
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
fieldId* | string | — | Тот же идентификатор, что у Field.Root; определяет htmlFor, указывающий на элемент управления. |
disabled | boolean | false | Помечает подпись отключённой и отражает это в data-disabled для оформления. |
required | boolean | false | Помечает подпись обязательной и отражает это в data-required для оформления. |
Field.Control
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
as | ElementType | "div" | Используйте input, textarea, select или собственный элемент управления. Нативные свойства, обработчики событий, style и ref передаются дальше. |
type / name / autoComplete / minLength / maxLength / pattern / readOnly | native control props | — | Параметры ввода задаются на Field.Control, в том числе type="password". Стандартная семантика валидации и FormData сохраняется. |
fieldId* | string | — | Тот же идентификатор, что у Field.Root; определяет 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
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
fieldId* | string | — | Тот же идентификатор, что у Field.Root; определяет id описания, на которое ссылается элемент управления. |
disabled | boolean | false | Помечает описание отключённым и отражает это в data-disabled для оформления. |
Field.Error
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
fieldId* | string | — | Тот же идентификатор, что у Field.Root; определяет id ошибки, на которую ссылается невалидный элемент управления. |
invalid | boolean | false | Отображает сообщение об ошибке; при false часть ничего не отображает. |
Клавиатура
| Клавиша | Действие |
|---|---|
| Tab | Перевести фокус на элемент управления или с него |
| Enter / Space | Активировать при наличии фокуса (для элементов управления типа кнопки) |
Доступность
По возможности используется семантический HTML. Изучите разметку в песочнице: ARIA добавляется только там, где нативных элементов недостаточно.
Привязка стилей
data-disabled