Fog Creek Software
Discussion Board




standards for key accelerators

Are there any standards or best practices for selecting the key accelerators for menu items?  Specifically for when to use alt, when to use ctrl when to use function keys and/or shifts.

Erik Lickerman
Friday, May 23, 2003

There's a whole section on the msdn site about UI design guidelines, which includes accelerators etc.

Sorry, can't remember the URL. Search MSDN for "the windows user experience"

Justin
Friday, May 23, 2003

Yes, look it up at the MSDN website.

But as for general guidelines, you NEVER use Alt keys for direct shortcuts because they're reserved for menu & control shortcuts (those underlined letters!), and also used for various system functions (Alt+Tab, ANSI keypad codes...).

You also NEVER use Ctrl+Alt for anything because this combo is present on European keyboards as a separate AltGr[aph] key used to input accents, umlauts, or even regular ASCII characters such as curly braces.

Obviously you don't use unmodified keys or Shift shortcuts if your program allows text entry of any kind.

So that leaves the following possible shortcut prefixes for alphanumeric keys:

Ctrl
Shift + Ctrl
Shift + Alt + Ctrl
Shift + Alt

Function keys are fair game, unmodified or with any modifier combo (even those otherwise forbidden), although F1 should be the universal help key.

Chris Nahr
Friday, May 23, 2003

Erm, oops, obviously there are some reserved function keys, too... notably Alt+F4 and Ctrl+F4!

Do check the MSDN website, it's safer than relying on my rants. :-)

Chris Nahr
Friday, May 23, 2003

Thanks- are there any issues on other platforms?  Mine is a Java program and should run on UNIX and Mac as well.  For example when I had a Mac years ago it didn't have function keys.  Is this still the case?  Does anyone know of any other issues?

Erik Lickerman
Friday, May 23, 2003

For Java see Sun's look and feel guidelines: http://java.sun.com/products/jlf/ed2/book/HIG.Behavior3.html

Martin Dittus
Saturday, May 24, 2003

*  Recent Topics

*  Fog Creek Home