Forms
Form components collect input using native controls composed with shared field chrome and validation relationships.
What this category contains
Skrewww forms separate field wrappers from controls. FormField owns label, description, required indication, and validation placement. Individual controls own native input semantics. ValidationMessage renders typed inline feedback linked with aria-describedby.
Status
All implemented form controls are Beta. Select is non-searchable. Combobox is searchable. Search Field is the canonical search-specific component at /components/search-field.
Accessibility considerations
Every control needs a programmatic label. Error state uses aria-invalid and aria-describedby. Native controls preserve platform keyboard, mobile picker, and screen-reader behavior.
Implemented components (13)
- Text Inputbeta
Text Input is a single-line text entry for short, free-form data such as names, emails, or search terms.
- Form Fieldbeta
Form Field is a shared field wrapper for label, description, required indicator, and validation placement — not a visual input.
- Validation Messagebeta
Validation Message is inline typed feedback paired with a field — error, warning, success, or info — with icon and text.
- Checkboxbeta
Checkbox is a native checkbox for independent or multi-select choices, including indeterminate group states.
- Radiobeta
Radio is a native radio button for a single option inside a mutually exclusive group.
- Radio Groupbeta
Radio Group is an accessible grouping layer for mutually exclusive radio options with legend, helper text, and errors.
- Switchbeta
Switch is a boolean settings control for immediate on/off changes — not a substitute for Checkbox in forms.
- Textareabeta
Textarea is a multi-line native textarea for longer free-text content, composed with FormField for label and validation.
- Selectbeta
Select is a combobox-style single-select with a Popover listbox trigger and hidden native select for form submission.
- Comboboxbeta
Combobox is an editable searchable single-select with a filterable listbox — distinct from non-searchable Select and query-only Search Field.
- Search Fieldbeta
Search Field is a search-specific text field with leading magnifying-glass icon and optional clear action — built on shared text-input control behavior.
- Date Pickerbeta
Date Picker is a date-only field with editable D MMM YYYY text entry (en-GB) and calendar popover for single-date selection.
- File Uploadbeta
File Upload is a native file input with drag-and-drop dropzone, advisory validation, selected-file list, and multipart form submission — selection only, not network upload.