Form and UI state selectors are used to style elements based on interaction, accessibility state, or form behavior.
These selectors help create:
| Selector | Purpose |
|---|---|
| :focus-within | Parent contains focused element |
| :focus-visible | Keyboard-visible focus state |
| :checked | Checked radio or checkbox |
| :disabled | Disabled form elements |
| :read-only | Read-only form fields |
Styles a parent element when any child inside it receives focus.
Extremely useful for modern form groups and input containers.
Applies styles only when focus should be visibly shown, usually during keyboard navigation.
Improves accessibility and avoids unnecessary focus styles during mouse interaction.
Targets selected checkboxes or radio buttons.
Useful for interactive forms and toggle systems.
Styles disabled form fields and buttons.
Disabled fields cannot be interacted with.
Targets inputs that users can view but cannot edit.
Commonly used for profile information or generated data.
| Selector | Trigger |
|---|---|
| :focus-within | Child element focused |
| :focus-visible | Keyboard focus visible |
| :checked | Input selected |
| :disabled | Input disabled |
| :read-only | Input readonly |
Modern form and UI state selectors are well supported across all major browsers.
Older browsers may have partial support for:
[code theme="dark"] :focus-visible [/code]