Combo Button
A Combo Button is split into a main action and a small menu beside it. The menu lists close versions of the same action.
A real example
Clicking Run starts the default build. The arrow reveals Run Without Debugging and Choose Target.
Main parts
- 01Visible label
- 02Interaction target
- 03Current state
- 04Keyboard behavior
Use it when
Use it when one safe, common action is clearly the main choice. A short menu can offer close versions of that action.
Do not use it when
Avoid it when all choices matter equally or the main action is destructive. The menu must not secretly change what the main half does.
Name used in code
AppKit NSComboButton / SwiftUI Menu with primaryAction Before you ship
Check the supported macOS versions and AppKit or SwiftUI integration. Check standard focus and keyboard behavior. Also check VoiceOver, Full Keyboard Access, window resizing, and multi-window state. When needed, check restore, localization, and reduced motion.
Outcome: Apply or review Combo Button in a native macOS app without breaking platform rules. User context: Clicking Run starts the default build. The arrow reveals Run Without Debugging and Choose Target. macOS concept or control: Combo Button. Why it fits: Use it when one safe, common action is clearly the main choice. A short menu can offer close versions of that action. Do not use it when: Avoid it when all choices matter equally or the main action is destructive. The menu must not secretly change what the main half does. Platform requirements: List the supported macOS versions. Say whether AppKit or SwiftUI owns each part and how they connect. Define window, menu, focus, keyboard, saved state, restore, and multi-window behavior. Platform accessibility and resilience: Use the right accessibility APIs. Check VoiceOver and Full Keyboard Access. Support localization, contrast, and reduced motion when needed. Keep user state after a relaunch. Acceptance criteria: Check the behavior on supported macOS versions with a keyboard and VoiceOver. Window resizing, focus, state restore, and AppKit or SwiftUI integration work in the normal macOS way. Evidence and limits (evidence boundary): It is official for that source. Other platforms or teams may use the term in another way. Unknowns to confirm: Supported macOS versions, AppKit or SwiftUI structure, and window model. Also confirm sandbox and entitlement limits, save rules, and the accessibility goal.
Check this request
Review the current use of Combo Button. Definition: A Combo Button is split into a main action and a small menu beside it. The menu lists close versions of the same action. Release checks: Check the supported macOS versions and AppKit or SwiftUI integration. Check standard focus and keyboard behavior. Also check VoiceOver, Full Keyboard Access, window resizing, and multi-window state. When needed, check restore, localization, and reduced motion. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.