Using Prompt for User Input, I can present three buttons: Yes, No, Cancel. I choose “Yes/” as the default and it comes up as the default button selected (i.e. blue background, white letters). However, if I hit TAB, the selection moves to the next button, as one would expect (i.e. the next button is highlighted). However the Yes button is still the default (as indicated by its blue background), so that if I hit Return, the Result Button remains Yes. My question: When I hit TAB, shouldn’t the default move to the new button? Shouldn’t the default follow the currently highlighted button, so that if I hit return, the highlighted button is selected? It’s certainly confusing to the user, who now visibly sees the ambiguity. The newly selected button is visually selected (i.e. outlined), but the first button has the blue background.
The behaviour of Full Keyboard Access is documented at:
As described, you use the Space bar to select the button.
Yes, I understand. But it still seems strange that both the original default button is highlighted (by displaying a BLUE button) and the current selection is highlighted differently (displayed with a light blue outline). Yes, Space bar selection works to select the second, and enter works to select the first. It’s just odd that two selections appear highlighted in the same dialog box at the same time, and are rendered differently. Oh well…
This is standard macOS behavior. It makes sense to me.
It quickly tells the user which button is the default button, and responds to RETURN,
while also identifying the cancel button, which responds to SPACEBAR, and usually ESC.
If the dialog has 3 or more buttons, it is helpful to know which ones have a standard keyboard shortcut.
If you are coming from a Microsoft Windows environment, I can see how this might be confusing at first. But after you’ve used a Mac for a while, it should become more intuitive.