What it is
The text stack that identifies a field and reports its state: the label, an optional required-or-optional marker, and — beneath the field — helper text that becomes error text the moment the field is invalid. This page covers the whole labeling concept, not just the visible label word. FieldLabel is never used alone; every Forms component composes with it.Live example
Exports
This page treats the label, helper text, and error text as one authored concept because a
reader makes one decision about all three together.
Vocabulary
Choose FieldLabel when
- A reader fills in or chooses a value for a field. There is no field exempted as “obvious enough” to skip a visible label — see TITAN-FLD-01.
- The field needs to report something beyond present-or-absent: that it is required, that it failed validation, or a hint that a placeholder cannot hold once the reader starts typing.
Choose something else when
Anatomy
Variants, sizes, and states
Edge and failure states
Tokens
Composition
Pairs with every Forms component, in one of two positions per Vocabulary: above a stacked field (Input, Select, DatePicker) or beside an inline control (Checkbox, Radio, Switch). Reading order top to bottom for a stacked field is label, field, then helper or error text.Content
Accessibility
What this component does not handle: deciding when a field is invalid, or moving focus
to the first invalid field on submit — both belong to
Form validation.
Constraints
Retired
Known issues
FieldLabel: open issues
Divergences, open decisions, and undocumented gaps for FieldLabel.
Why it works this way
One slot for helper and error, not two. A field whose height changes when it becomes invalid moves every control below it — the same problem Button solves by holding its width while loading. Sharing one slot keeps a form’s layout stable regardless of validation state. Field label and control label are kept as separate vocabulary because they are separate layouts with separate tokens, not a single idea expressed two ways. Merging them would make “the label” ambiguous on exactly the two component types — checkboxes and switches — where getting the position wrong is most visible. Required is the unmarked default, optional is the marked exception, per TITAN-FLD-02, because most fields in a typical form are required — marking the majority case saves less reading than marking the minority case does.Status
Related
- Input · Select · Checkbox — every field-style and control-style component composes with this one
- Form validation — decides when a field is invalid
- UI labels — casing and phrasing rules this page’s Content section follows