Pair with a Label and a SelectValue placeholder. Empty Selects look broken.
Group only when groups carry meaning. Two items in two groups is overkill.
Sort items by the user's mental model — frequency, alphabetical, or geographic.
✗ Don't
Use Select with hundreds of items. Reach for Combobox once typing-to-search would help.
Use Select for 3 options where you have horizontal room. SegmentedControl or RadioGroup is faster.
Hardcode option lists across files. Pull from a single source of truth (an enum, an API, …).
Accessibility
Composes Radix Select — combobox role on the trigger, listbox on the content. Type-ahead via item text. Arrow keys navigate, Enter selects, Esc closes.
The trigger is a button; pair with a <Label htmlFor> if outside a form context.