I seem to remember that some HIG revisions hinted that you shouldn’t use non-alphanumeric characters for keyboard equivalents. But that’s a thing of the past now and many applications love using non-alphanumeric characters like [ or \ for keyboard equivalents. As a consequence we have user interfaces whose keyboard equivalents make implicit assumptions about the keyboard layout you are using.

What’s particularly frustrating is not just that Apple do this nonsense themselves - but that other developers, mostly American, copy that without further thoughts. A consequence of that are keyboard equivalents which are somewhere between inconvenient and broken.

The most common case of this are keyboard equivalents for Back / Forward commands. When using the System in German, I get:

in the Finder: ⌘Ö and ⌘Ä,

in Safari: ⌘Ö and ⌘Ä and ⇧⌘← and ⇧⌘→ work as well when you are not in a text field,

in Address Book: ⇧Ö and ⇧Ä (not kidding!) which seem to be dysfunctional

in Preview: ⌘← and ⌘→

Problematic along the same lines are:

Mail’s equivalents for decreasing/increasing the quote level: ⌥⇧⌘Ö and ⌥⇧⌘Ä

Safari’s previous/next tab commands listed as: ⌥⌘Ö and ⌥⌘Ä with the ⌥⌘← and ⌥⌘→ working as well

iChat’s previous/next tab commands: ⌥⌘Ö and ⌥⌘Ä

Terminal’s previous/next tab commands: ⌥⌘Ö and ⌥⌘Ä

Most of these keyboard equivalents leave you screwed if you want to use the German localisation with an English keyboard layout (say for programming) where the Umlauts aren’t accessible.

Of course the problem also exists the other way round. While characters like [, ] or \ are easily accessible on English keyboards they are ⌥5, ⌥6 and ⌥⇧7 on a German keyboard for example. And thus mostly inaccessible. Different, but similarly awkward, finger gymnastics result from using most other non-English keyboard layouts.

If the basic examples weren’t enough, here are some more: Panic’s Coda, presumably a professional text editor, i.e. something where you may be more likely to use keyboard equivalents than elsewhere gives you

⌘[ and ⌘] for indentation (a pain familiar from XCode)

⌥⌘← and ⌥⌘→ for back/forward navigation in the file listing (thus mostly inactive when keyboard focus is on the text editor)

⌘{ and ⌘} for previous/next tab (which aren’t just a pain to type on a German keyboard but ⌘{ never works)

This list can go on and on, for example by looking at text justification

in TextEdit: ⌘{, ⌘|, ⌘}

in Mail: ⌥⌘Ö, ⌥⌘Ü, ⌥⌘Ä

or at the trend to use keyboard equivalents including ⌘\ or ⌘Ü for showing/hiding status or progress bars.

I consider this situation a royal mess. And it makes it pretty much impossible to build ‘muscle memory’ for certain commands, you always have to think ‘what do I want to do’, ‘which application am I using’, ‘is the application localised’, ‘which quirky behaviour did they choose’ - making things rather impractical.

To improve this, I again suggest that developers use varying languages and keyboard layouts with their applications. And whenever I choke on such keyboard equivalents I am tempted to start using accented letters, just so English speakers can enjoy the same inconenience.