0

In macOS Catalina (or perhaps earlier?), macOS changed the default Tab & Shift+Tab keyboarding behavior from "all controls" to "only text boxes and lists", with Ctrl+F7 for switching between these modes. I believe this replaced a similar checkbox for Use keyboard navigation to move between controls.

There is also a similar toggle in Safari, where links are not present in the tab order by default.

I looked for an explanation, but aside from documentation on the A11y project and some StackOverflow questions, I couldn't find any of the reasoning behind the change. Was this announced? Is there a WWDC talk that discusses this?

I'm not concerned with whether the decision was right, wrong, or otherwise: I simply want to know: is there any documentation about why keyboarding changed? Maybe it's something I should consider for my apps.


EDIT 30 Sept 2024: Per Kit's comments, this behavior never changed. Tab in macOS has never moved between all controls by default. In that case, why is the behavior so different in macOS vs Windows? Is there any documentation for the reasoning behind this behavior? As above, maybe it's something I should consider for my apps.

2
  • 1
    This has been the behaviour in macOS going back as far as I remember (certainly before Mac OS X). Back in the day the only way I was aware of to move through UI elements with the keyboard was to enable Mouse Keys and move the cursor around the screen. I'm not sure what makes you think this was the default behaviour previously. It's often been a cause for contention for accessibility advocates that the default experience for Mac users is so different to that of Windows users. Commented Sep 4, 2024 at 5:17
  • 1
    Oops! I must be misremembering---I remember switching that setting specifically around Catalina time, but it must have gone further back. An image of Snow Leopard settings has the same setting, so it goes back at least to 2009. In that case, do the human interface guidelines explain the reasoning? Commented Sep 4, 2024 at 15:05

1 Answer 1

1

As noted in comments, this isn't a new change, but rather how Apple has always done things.

You asked "do the human interface guidelines explain the reasoning" and the simple answer is "no". If we expand the question to "why does Apple think this is a sensible default?", I think we have a better chance of answering the question.

Firstly, going all the way back to the original Mac, Apple has always focused on the primary interaction happening through the mouse. In the original manual (PDF link), it describes the purpose of the Tab key thusly:

A key that, when pressed, moves the insertion point to the next tab marker or, in a dialog box with more than one place to enter information, to the next rectangle.

So from the very beginning, Apple is describing the purpose of that button (outside word processing) as being to move between input fields, rather than between on-screen elements.

On platforms that do support tabbing between elements on-screen, there's still typically some constraints around what it will let you target. On Windows, for instance, the tab key won't ever select menu bars (you have to use the Alt key for that).

When full keyboard access is enabled, it can introduce confusing situations. For instance, it's not immediately obvious to me what the user expects to happen if they press Return when shown this dialog in this state:

A screenshot of a dialog in macOS, with the Delete button having keyboard focus, and the Save button being the default/highlighted button

(For the record, Space triggers the focused button and Return triggers the default button).

So the simplest explanation is that it's a difference of opinion in the design of the system. Perhaps the more surprising thing is that Apple makes this an option at all (in fact, it makes it two options with subtly different behaviour: "Keyboard navigation" and "Full Keyboard Access").

1
  • 1
    Thanks for the thoughtful answer, @Kit, especially since my question is kinda malformed :D. That's exactly the type of documentation I was looking for. Commented Sep 30, 2024 at 15:55

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.