Odds, Ends, Shortcuts, and Accelerators


First of all, due to a glitch in the system, Howard’s
article
about the philosophy behind Themes in Office 2007
got posted very late
yesterday. It’s well worth the read, so if you didn’t catch it yesterday, you
might consider
checking
it out today
.

The team has been enjoying the

interesting discussion around keyboard accelerators in Office
. If nothing
else, the various ideas posted and the ensuing discussion exhibit how
complicated even seemingly simple design decisions can become when many people
are affected by and care about the outcome.

Something that came up as a point of interest in the comments was the
difference between keyboard shortcuts and accelerators in Windows. I thought I’d
take a few words today to talk about the difference between them.

Simon in the comments explained it quite well, so I’ll start with his
description:

  • Keyboard shortcuts: these are the individual keystrokes (or combination
    of keys pressed simultaneously) used to access commands. They appear to the
    right of the menu item. For example, to access Undo using a shortcut, you
    press Ctrl+Z.

  • Keyboard accelerators: these are the little underscores on menus and
    menu items. They are used to navigate menus. For example, to access Undo
    using accelerators, press Alt, then E, then U – three separate keystrokes.

Both of these explanations work for a program based on menus and toolbars.

In a Ribbon-based app, keyboard shortcuts remain the same as they were in
previous versions.

Keyboard accelerators, on the other hand, have evolved into KeyTips in the
Office 2007 model. The trigger key is still ALT, like with accelerators, and the
idea of pressing subsequent letters to “navigate” the UI is still present. The
major differences of KeyTips are:

  1. Every control gets a key (even unlabeled ones–something impossible with
    menus)

  2. We can assign keys not in the label of the control. This is because we
    have, in rare cases, as many as 50 controls available at once. Interestingly, certain
    international versions of Office have done this for years by putting the accelerator in
    parenthesis after the command name like this: Command Name (X)

But the user experience of KeyTips should be pretty similar to
accelerators–press ALT, and follow the keys on your screen to get to the
command you want. Memorize and repeat for efficient access.

I look forward to walking you through the improved Office 2007 keyboard model
closer to Beta 2.

Comments (17)

  1. So, how exactly do you use the 26 letter alphabet for keyboard accelerators when you have "50 controls available at once"?

  2. furu says:

    My guess, they include 10 digits, and other unbind keys as ‘.’, ‘,’, ‘/’, ”, etc. That’s already 40 🙂

  3. Stephen McLaren says:

    This post allows me the perfect opportunity to get on my soap box about some keyboard shortcuts in Office.

    Overall Office is consistent throughout the suite with keyboard shortcuts e.g. Ctrl+B is Bold throughout the entire English version, but there are a couple that aren’t.

    My two favourite examples are Ctrl+1 and Ctrl+Tab.

    In Excel Ctrl+1 brings up the Format Cells dialog (including font). This does nothing in either Word or Powerpoint. Would it not make sense to open the font dialog with that shortcut?

    In Excel Ctrl+Tab moves between open workbooks much like Alt+Tab moves between open applications in Windows. This is a shortcut that makes a lot of sense to me. In Powerpoint and Word Ctrl+Tab functions the same as Tab by itself (as far as I can tell)

    Has any work been done to be more suite specific in 2007 Office?

    I’d personally love the two above examples to be applied across the entire range. It would increase my productivity a lot. I’m probably somewhat rare in that I use keyboard shortcuts and accelerators a lot, but some more commonisation would make sense from consistent UI perspective. Wouldn’t it?

    Overall I love working in Office and can’t wait for 2007 Office. I just want it to be even better than I can possibly imagine by ironing out these little things that bug me!

    Thanks Jensen for a great blog

  4. netfreak says:

    I guess that accelerators are cool, but I wonder whether anyone will be able to remember at least some of them.

    By the way, I would like to ask when will the Beta 1 refresh be available, cause Vista beta testers are having some problems with the 5308 Vista February CTP

  5. Chad Geidel says:

    Take a look at how Office does this now (for example, Outlook 2003).  Each submenu can "re-use" the letters.  Under the file menu (Alt-F) there is a "Folder" command (another F).  To reach this, type Alt-F, F.  

    It’s unlikely there will be 26 items in one menu level.  That would end up getting a little unwieldy and would create a pretty bad UI.

  6. Sam says:

    Hi Jensen,

    In a standard menu-based app, menu items are indeed labeled with their associated keyboard shortcut. This is nice, because every time you use that menu item, you’re reminded that there’s a quicker way to do the same thing. You don’t have to get the idea "hey, there might be a keyboard shortcut for this" — it’s right there, every time you use it.

    With the ribbon, unlabeled controls can’t be labeled with their keyboard shortcuts, so the shortcut must be relegated to a tooltip. I’m thinking that people use tooltips at the beginning of the learning curve, when they don’t yet know what a control does, and at that point they’re probably going to ignore the shortcut information. Later on, when they could really use the shortcut, they’re probably too quick with the mouse to get tooltips on a regular basis.

    (I guess this is true of traditional toolbars as well, but it’s more of a problem for the ribbon, because everything is there.)

    Do you see this as a problem?

    -sam

  7. Mike Dunn says:

    Note: This question isn’t me trying to be overly-pedantic, I’m genuinely curious.

    Keystrokes that generate a WM_COMMAND message (like Ctrl+Z) are called accelerators by the Win32 API. Why aren’t those being called acclerators here in your discussion? How are the terms used within the Office team? Seems like some GUI terms are being misused here for no reason.

    The underlined letters have no official name as far as I know, but I call them mnemonics.

  8. Pete says:

    Mike, As far as I remember from my job as a localisation engineer, we called the underlined terms ‘hotkeys’

    Great blog btw

  9. Philip J. Rayment says:

    Stephen,

    In Word, Ctrl-tab and tab work differently in tables.  In tables, tab moves you to the next cell, but Ctrl-tab inserts a tab character in the cell, as tab would in normal text.

  10. josh says:

    Is there some compelling reason why nobody ever uses the application key?  It’s a modifier key in the API, and it seems perfect for rare but useful keyboard… controls.  (much like the Windows key is used for system-wide stuff)  But the only thing I’ve ever seen it used for is the boring "bring up the context menu."

  11. I suspect that part of the confusion around the 2/21 post is that "accelerator" is usually synonymous with "shortcut key." What you’re calling an "accelerator" is usually called an "access key" or "mnenomic." (see http://msdn.microsoft.com/library/en-us/dnwue/html/ch05c.asp?frame=true)

  12. Troy Hepfner says:

    There is definitely a lack of consistency in how the terms are used between programmers and end users.  But I think Microsoft Office has always used the terms the way Simon and Jensen describe, at least from the end-user’s perspective.  I have Office 2000 installed.  I brought up Word, selected Help, and typed in "accelerator" – and I got three results:

    1) Assign or Remove a Shortcut Key

    2) Speed up Downloading Web Pages by Using Vector Markup Language

    3) Assign or Change a Keyboard Accelerator

    Clicking the first and third bullets brought up help pages that describe exactly what Simon and Jensen were saying.

    I’m not sure why the Windows API uses different terminology… probably just two different departments in a big company that weren’t communicating with one another.  But that’s where the terminology they are using came from.

  13. Stephen:

    Philip J. Rayment has already told you that Ctrl+Tab inserts a tab character in a table cell in Word (Tab advances to the next cell). Ctrl+1 is assigned to the SpacePara1 (paragraph single spacing) command.

  14. Troy– Wow, you’re right. Weird. The use of "accelerator" among UI designers and developers for the Ctrl-key thing apparently goes way back across platforms to at least Motif (early 1990’s? late ’80’s?). I don’t believe I’ve ever heard any *user* use the term "accelerator." Seems like such an unfriendly and not particularly descriptive term for Alt-keying. Maybe Office documentation used it because doing Alt-key is faster than using F10 or tab to get to controls by the keyboard.

    FWIW, a quick review of UI design guidelines reveals the Ctrl-key (or Command-key) thing is called "shortcut" by Apple, Java, Gnome, and CUA. The Alt-key thing is called "access" by Gnome, and "mnemonic" by Motif, Java, and CUA (I don’t think there’s an equivalent in Apple). MS seems to prefer "shortcut" and "access." Personally, I prefer "access"; I don’t see it as being especially mnemonic (or accelerating), but I do see it as providing convenient access when the mouse is unavailable or awkward.

    Sources:

    http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/F29AL000/2.2.63?SHELF=CEESL002&DT=19921204095534#HDRMNEM

    http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/F29AL000/2.2.106?SHELF=CEESL002&DT=19921204095534#HDRSHORTCT

    http://developer.gnome.org/projects/gup/hig/2.0/input-keyboard.html#keyboard-navigation

    http://biology.ncsa.uiuc.edu/library/SGI_bookshelves/SGI_Developer/books/Motif_SG/sgi_html/ch09.html#id10478

    http://java.sun.com/products/jlf/ed2/book/HIG.Behavior3.html#35746

  15. If you are a fan of keyboard shortcuts and wonder what Word’s new UI means for them, or if you don’t

Skip to main content