Segmented Control
A segmented control joins a short row of choices that changes a mode, filter, or value.
A real example
Day, Week, and Month change the calendar range. The current choice stays marked.
Main parts
- 01Visible label
- 02Interaction target
- 03Current state
- 04Keyboard behavior
Use it when
Use it for two to five short choices when only one can be active.
Do not use it when
Never use it to switch large content sections that need tab semantics.
Name used in code
ToggleGroup / NSSegmentedControl Before you ship
Give assistive tools the control’s name (accessible name), purpose (role), value, and state. Check keyboard use, visible focus, target size, disabled and busy states, feedback, and recovery.
Outcome: Use Segmented Control to solve this user need without losing the current context. User context: Day, Week, and Month change the calendar range. The current choice stays marked. Recommended pattern: Segmented Control. Why it fits: Use it for two to five short choices when only one can be active. Do not use it when: Never use it to switch large content sections that need tab semantics. Product requirements: Define the default, loading, empty, error, success, and recovery states. Keep user input. Give clear feedback after every action. Accessibility and resilience: Use semantic HTML, full keyboard access, and visible focus. Make the layout work when zoomed and support reduced motion. Follow the project’s current rules. Do not add a new UI library unless the project already uses it. Acceptance criteria: The main task works with keyboard only and at 320px width. Focus and status changes are announced. Check loading, failure, retry, cancel, and reduced-motion paths. Evidence and limits (evidence boundary): No single official standard controls the whole term. Its meaning may change across teams, platforms, or frameworks. Unknowns to confirm: Product wording, data source, analytics events, supported devices and languages, and platform limits.
Check this request
Review the current use of Segmented Control. Definition: A segmented control joins a short row of choices that changes a mode, filter, or value. Release checks: Give assistive tools the control’s name (accessible name), purpose (role), value, and state. Check keyboard use, visible focus, target size, disabled and busy states, feedback, and recovery. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.