Design system

Forms

Labelled fields, validation, and actions that preserve a person’s work.

Use a visible label, optional help, and an inline error as one field relationship. The submit action names the result.

We’ll send the inspection report here.

Use Input for one line, Textarea for prose, Select for a short fixed list, and Combobox when searching materially helps. Put related fields in FieldGroup and use FieldSet with FieldLegend for a meaningful group.

Validate at the trust boundary and return field-specific errors. Set aria-invalid, wire aria-describedby, focus the first invalid field after submission, and keep every entered value on failure. Do not globally trim passwords or whitespace-sensitive values.