Inconsistent keyboard UX on macOS

Remember back in the pre-GUI OS days when everything was done with commands typed on keyboard?

Remember how fast and efficient one can get with just keyboard commands and shortcuts? Remember your Lotus-123 or WordPerfect days? That's efficiency.

Before world wide web (WWW) took over everything, many systems were designed with purely keyboard-operatable shortcuts or commands.

Command Prompt showing a telnet menu system

Not an actual system that I worked on, but I have worked on similar systems in the past – users connect to it via telnet or SSH.

My First GUI OS - Windows 3.1

I got my first exposure to the graphical user interface (GUI) operating system (OS) in the 1990s starting with Windows 3.1.

Prior to GUI, you had to learn the commands and shortcuts for every programs that you run or connect to. GUI flattened the learning curve for new users to get something done on a new app.

What was a general practice during the 1990s, the era of growing popularity of GUI software, is that as software developers, you do not take the existence of a mouse for granted. You design your software to be fully operatable using only keyboards. You then add on mouse support to lower the learning curve, if you want to; but that's optional.

This is no longer the process today, but a similar UX design practice exist today, especially if you are a game developer. Designing an iOS game in 2025, you would support touch screen, and optionally add on game controller support.

All operations are achievable with keyboard only

A result of such UX design practice means that all operations on Windows 3.1 could be carried out with just keyboards. I could operate Windows 3.1 fully on a keyboard without touching a mouse. This include window operations such as:

and many more... They have become muscle-memory for me.

As Microsoft Windows progresses, some of these shortcuts were carried over, but over time many of them get dropped. I have stopped being a Microsoft Windows user since Windows XP, but as far as I remember, Microsoft has been trying their best to retain keyboard shortcuts.

Apple's lackluster keyboard shortcuts on macOS

The moment I switched to macOS (then Mac OS X), the lackluster nature of keyboard shortcuts on macOS was very apparent to me. There was not only no window management shortcuts, even the minimal shortcuts that macOS has are repeatedly hidden behind configuration and turned off by default.

For instance, you can access the menu by using Control + F2, only if you enable Full Keyboard Access. Despite the name, Full Keyboard Access only provides you access to some UI elements. You still need a mouse on most things.

Enabling Full Keyboard Access does not come without a cost. I would expect it to enhance my user experience, not alter or affect it negatively in anyway. The reason Apple hides the option under Accessibility probably already hints that it would alter your user experience and surely it does. For instance, wIth Full Keyboard Access on, you get border showing you which element is highlighted (allowing you to tab through some, though not all, of them). This may sound harmless, it does messes up not only the look of your apps and windows, it also confuses you on what is intended to be there by the developers and what is added on by the OS itself due to Full Keyboard Access on, not to mention that it also added a delay to keyboard inputs and UI refresh (why, Apple?). There's a worse, weirder and more inconsistent behavior with Full Keyboard Access that I will describe shortly later.

Over time, I have learned to compensate for the incomplete keyboard shortcuts on macOS either by learning to use more mouse, or by remembering and learning tricks with how certain items in a menu are preselected.

Windows save file dialog with keyboard shortcuts visible

On Windows XP, to not save a file you worked on, you would close the window (Ctrl + W), and then either hit N or Alt + N to answer "No" when asked if you would like to save your work.

macOS save file dialog showing Don't Save option

On Mac, options on a dialog do not have keyboard shortcuts. I guess Apple expects macOS users to use a mouse to select an option, but for me, who would prefer using keyboard, I have observed that the default option selected when such a dialog is presented is "Don't Save". Thus, throughout my many years of using macOS, when I would like to close and discard a file that I was working on, I would Cmd + W to close it and then hit Space, not an intended shortcut but a quick way to answer "Don't Save" as it was default "secondary" selection (shown with the blue border). If you look closely in the dialog above, you can see that the primary button is Save, with the background in blue. To select that, you would hit the Enter key.

macOS Tahoe broke it

For some reasons, macOS Tahoe (macOS 26), not only came with a completely refreshed UI that caused a lot of uproar, it also broke this shortcut that I frequently use.

On macOS Tahoe, the default "secondary" selection is now Cancel. So to select "Don't Save", you would have to hit Tab twice, first time to move it from "Cancel" to "Save", and second time to "Don't Save", before then hitting Space to select the highlighted option.

This is the wrong default option, because given the 3 options, before macOS Tahoe, I could select all of them individually without tabbing through, i.e.:

I am also not sure how consistent Tab Tab Space is throughout all apps. At least they are true for 2 of my most commonly used apps: VS Code and Sublime Text.

If you are curious enabling or disabling "Full Keyboard Access" does not change the behavior, except it now adds a delay to option switch after Tab is hit.

Stay consistent, Apple

I wish Apple, and macOS would be a little bit more consistent across updates. I am one of the few who actually do not mind the major UI refresh that came with macOS Tahoe, but UX breakage is something that is really frustrating.