I know that there has been a similar question asked here very recently, but I was wondering if it was possible to tab between buttons on default Mac OS X dialog boxes?

I already have the All controls option enabled in System PreferencesKeyboard & MouseKeyboard Shortcuts, but no joy.

migrated from stackoverflow.com Sep 12 '12 at 8:31

This question came from our site for professional and enthusiast programmers.

  • It's not the answer to the question but I feel it's relevant. You can tab backwards through the controls and boxes using shift+tab. – Teifion Aug 5 '08 at 14:43
up vote 169 down vote accepted

If you enable Full Keyboard Access by setting it to all controls, you should be able to tab between options and select by hitting spacebar, at least for OS X 10.5:

Full Keyboard Access: All Controls (Control+F7)

  • 21
    Thanks. At least in Lion, this setting can also be switched on or off quickly using Ctrl+F7. – c089 Sep 13 '11 at 12:46
  • Not much use though is it, since the OS doesn't always focus the dialog... :/ – Henrik Erlandsson Jan 17 '14 at 11:00
  • El Capitan, not working anymore. – atilkan Oct 19 '15 at 21:23
  • 4
    The Keyboard shortcut still works on El Capitan Fn+Ctr+F7 toggles it on/off. – Eduardo Romero Nov 13 '15 at 5:41
  • 2
    Thanks - took me a while to find out even when I already knew that months ago - wonder why spacebar - why not just enter key - its not intuitive and you could always switch back to the highlighted button in 1-2 strokes if you make an error. Sometimes I feel like there is some evil manager behind the guys who do this in Apple and hes pushing his stupid ideas into releases. And yep confirming it still works on El Captain for me too. – Srneczek Jun 19 '16 at 14:58

While @ruddzw's (chosen) answer works, it can slow you down in other areas simply from the sheer number of controls there are to tab through.

@NReilingh presents a different approach, and the semantics behind it:

The right way to go about keyboard shortcuts for alternate dialog buttons is not tab, but command key combos. For example, Command-period is almost universally "cancel." [...]
It's often not documented, but the command shortcut for different buttons that aren't the default button or cancel is usually the first letter of that button.

So in the example:

Save prompt

  • enter/return will Save,
  • +. or esc will Cancel, and
  • +D will map to Don't Save.
    As @Kevin Reid points out, +delete works here as well.
  • 5
    In the new combined save/do-you-want-to-save dialog boxes, "Don't Save"'s shortcut is ⌘-Delete. – Kevin Reid Feb 9 '13 at 23:06
  • Both ⌘+D and ⌘+delete seem to map to Don't Save. – Marius Butuc Oct 2 '13 at 16:49
  • 1
    didn't work for me (brand new osx with latest os whatever it is), so enabled all controls, but thanks, I'd have preferred your answer if it had worked. I did test all the keys on the keyboard, with FN, CTRL, Option as well. – PatrickT Nov 29 '13 at 11:12
  • You can also press "Tab" key to select focus on button and then press "Space" instead of "Enter" to apply the selection. – kholis Nov 29 '17 at 8:36
  • 1
    This is good info beyond the accepted answer, still in the scope of the question asked. – Nirav Zaveri Apr 28 at 5:11

In Keyboard preferences under Keyboard Shortcuts

Full Keyboard Access: Switch to All Controls instead of Text Boxes and Lists Only

Is there a specific dialog you're having trouble with? With "All controls" enabled I can tab around every control of every Mac OS X dialog I've tested just now.

To enable navigation using Tabs from the command line type:

defaults write NSGlobalDomain AppleKeyboardUIMode -int 3

When browsing with Safari, you can also tab between all HTML elements on the page using Option+Tab (otherwise Tab would only stop on the browser toolbar controls and quick bookmarks)

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.