FormGroup — это контейнер для организации связанных элементов формы, таких как текстовые поля, переключатели, радио-кнопки и флажки. Он обеспечивает единый визуальный и функциональный контекст для группы элементов, включая метку (label), описание (helper text) и обработку ошибок. В Carbon Components Svelte использование FormGroup помогает структурировать форму, делая её более понятной и доступной.
Форма может содержать несколько FormGroup, каждый из которых логически объединяет элементы по смыслу. Например, группа контактной информации может включать поля «Имя», «Фамилия» и «Email».
bx--row и bx--col:
FormGroup особенно полезен для радиокнопок и чекбоксов, так как позволяет задать общий заголовок и контролировать состояние группы. Все элементы внутри группы получают связку с legend для правильной семантики.
Для организации полей важно учитывать валидацию. Carbon Components Svelte предоставляет встроенную поддержку для отображения ошибок на уровне FormGroup или отдельных компонентов. Основные подходы:
FormGroup обеспечивает корректную семантику,
используя и .
Это критически важно для доступности: экранные считыватели правильно
определяют, что элементы принадлежат одной логической группе. Для
повышения доступности следует:
helperText или
aria-describedby.invalidText, связанный с
полем через ARIA.
Для сложных форм рекомендуется:
bx--row, bx--col) для
горизонтального выравнивания.Эти подходы позволяют создавать формы, которые одновременно красивы, функциональны и удобны для пользователя.