Almost a year ago, I wrote a post complaining about inconsistencies in keyboard shortcuts for navigating tabs. My complaint then was that not all applications use Command-# to navigate among tabs (or Control-# to navigate among tabs in Windows).
As I mentioned in passing in that post, Safari uses Command-# to select bookmarks in the bookmarks toolbar. To move between tabs in Safari, the keyboard shortcut is Command-Shift-Arrow (left and right). Since that post, Leopard was released with new versions of iChat and Terminal with tab support, and they both use the Command-Shift-Arrow convention.
This has created a schism in the OS X world. What I’ll call the “third party” convention for keyboard shortcuts is as I described in my earlier post — Command-# to select a tab. This convention is supported by Firefox, Adium, iTerm, Textmate, and probably other applications as well. As far as I know, only Apple applications support Apple’s convention for tabs. There are other approaches as well, for example, in NetNewsWire, Command-{ and Command-} are used to move between tabs.
Based on my investigation, Apple still doesn’t offer any guidance in the Human Interface Guidelines on how tabs should be implemented in OS X applications even though they are a widely adopted interface convention, and Apple appears to have adopted a specific convention for them internally.
My main complaint is that having two different conventions makes it difficult to switch between Firefox and Safari, but I predict that this will become a bigger problem as more applications add tabbed interfaces. If I were an OS X software developer, I think I’d adopt Apple’s convention were I starting from scratch, but I’m not sure what the best approach is for other applications, especially cross-platform applications like Firefox. I don’t think that Apple could migrate to the third party convention because too many applications already exist with different functions mapped to Command-#.
In the meantime, I guess we’ll deal with confusion and inconsistency.
April 3, 2008 at 11:37 am
In Firefox you can also switch between tabs using command-option-arrow, which almost makes it easier to switch between FF and Safari.
April 4, 2008 at 2:05 am
Camino uses command option arrow, not command shift arrow, so it’s different from both Firefox and Safari (but I’d argue closer to Apple’s convention).
It also uses command-# for bookmark bar entries, like Safari (and unlike its Gecko-powered relative Firefox). However, it only does this if the bookmark bar is showing: the rationale for this is in a bugzilla entry. I still find this an odd decision, but the team seem set on it.
April 5, 2008 at 12:48 pm
I just checked out the Tab or Window menus for a few apps. Safari, Terminal, and NetNewsWire all list cmd-{ and cmd-} in their menus, but also respond to cmd-shift-leftArrow and cmd-shift-rightArrow.
As a developer, my thinking is that doing the same thing as Safari is the best bet, given no other guidance. (Safari because it’s probably the most commonly-used tabbed application from Apple.)
April 7, 2008 at 12:03 pm
Command-Shift-Left/Right used to be my preferred shortcuts for this reason, but they don’t work if focus is in a textbox, so I’ve forcibly trained myself out of it. Annoying.