One is allowed to assign key equivalents to controls like Push Buttons in Cocoa.

For example, one might assign Cmd-E to push button. Would you make any attempt to let the user know that pressing Cmd-E is the same as clicking on that button? (Perhaps, via a tooltip, in the label of the control, etc.) Or, would you expect the user to learn about such equivalents in the documentation alone?

5 Answers 5


Windows already lets you know what is the key equivalent by underlining a letter, e.g. in the dialog below, pressing Alt-F would be the same as clicking on the Find button:

alt text

In Windows 3.1, the corresponding letter was always underlined. Starting with Windows XP, I think, the underlines no longer appear until you press the Alt key.

On the Mac, you could implement a similar approach by displaying the command key equivalents when the user presses the Option key, but AFAIK there is no built-in mechanism in Mac OS to implement this automatically. Enabling the accessibility features might provide a way to display key equivalents, but I've never tried them and they are not turned on by default.

IMO, Windows handles button key equivalents better than the Mac does, but the Mac handles menu item key equivalents better. When you click on a menu and then press the Option key, you will see different menu items that are usually extensions of the original ones, e.g. Close Window becomes Close All:

alt text

I have read the AskTog article that @DanM linked to a few years ago. I found it silly then and I find it silly now. Its premise is false:

  1. Ask any computer user who relies heavily on key equivalents and use them almost subconsciously, as opposed to test participants who are asked to press a key

  2. Tog's test is very limited and, IMO, useless. While typing this article, I have pressed Cmd-Shift-[ and Cmd-Shift-] several times to go back and forth between different browser tabs. I would have felt quite handicapped if I had to go to the menu every time or move the mouse to press a button. Not only would it take me longer, but I would have to move the mouse cursor back to where I was in the edit field -- a side effect that is not measured by Tog.

  • I'm using XP and the underlines are persistent; it might be a setting, though.
    – Bobby Jack
    Commented Nov 24, 2010 at 11:54
  • I agree that the AskTog article isn't a particularly good test. Replacing all vertical bars in a document with the letter "e" is not exactly a common task. A far more common 'replace' use case is noticing a typo a small number of characters back and correcting it. In that case, the cursor will move a relatively small distance, so fewer key presses will be required, but the distance the typist's hand needs to move to hold their mouse remains the same.
    – Bobby Jack
    Commented Nov 24, 2010 at 12:03

It's usually a convention to have the keyboard shortcuts noted near the menu item the are assigned to. It's less evident or straight forward when it comes to other controls (you could use a tool tip there, but it's not standard or expected, in my opinion).

Why would you want to avoid this? Saving space?

Users don't usually read and specifically they don't read documentations...

  • I agree, users don't read documentation, but they still might want to have easy access to this knowledge...so, how you would provide that?
    – ericg
    Commented Nov 22, 2010 at 22:31

Personally I like it when the menu or the button tooltip shows me the shortcut for an option.

However, it would depend on your audience.

Programmers tend (gross generalisation I know) to like to use the keyboard more then "ordinary" office users so they might appreciate the information. They're also more likely to experiment with the interface to see what it can do.

Less technical user might be overwhelmed by the information you're supplying and are more likely (another generalisation) to use the mouse rather than keyboard so the shortcut is irrelevant for them.

  • @ericgorr - I was talking about both. I'll clarify my answer.
    – ChrisF
    Commented Nov 22, 2010 at 22:34

One thing to keep in mind is that keyboard shortcuts are not a critical feature for most users. There is also research showing that the mouse is faster than the keyboard for most tasks and most users (e.g., http://www.asktog.com/SunWorldColumns/S02KeyboardVMouse3.html). This doesn't mean you shouldn't provide keyboard shortcuts or that you shouldn't provide a method for users to find out about them, but it does suggest that you might want to think twice about cluttering your UI with keyboard shortcut tooltips.

Just as an example, GMail offers a large number of keyboard shortcuts, but you won't find out about them by rolling over buttons or even by clicking a prominent link. As far as I can tell, all the information about keyboard shortcuts can be found on a single web page, and the only way to get to it is to click Help and then do a search for "keyboard shortcuts".

I'm not saying Google's strategy is the one you should follow, but I think a good place to start would be to make a web page or help file containing all the keyboard shortcuts. If you get a lot of users demanding shortcuts, you'll know it's time to do something to make it more obvious that they exist, but if not, you're probably fine.

  • 1
    Excuse me? Keyboard equivalents not critical for most users? I'd say that is a self fulfilling prophecy: because most apps don't cater for them, users don't expect them and are no longer looking for them, so developers are advised not to bother about them... I know I can't live without keyboard shortcuts, and I know many people who actually use a keyboard most of their time, prefer them as you then do not have to continually switch between keyboard and mouse. So I'd say whether keyboard shortcurts are important depends on the type of application. But even in Paint.Net, I use them frequently... Commented Nov 23, 2010 at 7:32
  • @Marjan, Did you read the article I linked to? It's fascinating how people think keyboard shortcuts are so fast. They feel like they are, but most of the time, they aren't.
    – devuxer
    Commented Nov 23, 2010 at 8:05
  • @DanM: No I didn't read it. I don't use keyboard shortcuts because they are fast, I use them because it means I don't have to take my hands of the keyboard... Making me switch between mouse and keyboard is one of the most annoying things an application can do to me... Commented Nov 23, 2010 at 11:12
  • @Marjan, as I said, keyboard shortcuts are not a critical feature for most users. Some users do prefer keyboard shortcuts. I think keyboard shortcuts should be provided because some users prefer them, and some users need them (for example, because they don't have the ability or motor skills to operate a mouse).
    – devuxer
    Commented Nov 23, 2010 at 17:49
  • @DanM: I know what you said, I simply disagree with your assessment of "most". In my experience most people use computers at their work (or use a computer mostly at work) and as such are heavy keyboard users. Even with professional graphic applications users tend to have one hand on their mouse/tablet and the other on the keyboard so they don't need their mouse/tablet to activate commands. Plus: many inexperienced and/or older users aren't half as adept / accurate pointing a mouse as most software needs them to be... But hey, you seem to think otherwise, so let's just agree to disagree. Commented Nov 23, 2010 at 20:02

I like the way Office handles keyboard shortcut hints - with a tool tip AND supporting documentation. The tool tip isn't invasive - you only see it when you hover for a while on the control and it's right there when you need it.

alt text

Alternatively, if you want a list of shortcuts, you can go in the help and type "keyboard shortcuts". For those users that WANT to learn them, this option needs to be there too.

alt text

And I also find that when learning a new application, users will be using the mouse, clicking left and right to see what happens and it's very likely they will hover on menu items. Having the keyboard shortcut popup right there shows them that they can use it without cluttering up the design of the application.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.