User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been browsing StackExchange, the MS UX guidelines, etc and have yet to find an answer, or even a suggestion about this.

In a Windows environment, Tab usually moves focus from control to control. In a standard form, this usually means moving from field to field. However, if there are other controls ancillary to filling out the form (maybe advanced buttons and the like) placed interstitially in the form, pressing tab will stop on them as well.

Is there an established convention for moving just between editable fields and skipping other controls?

Currently, we use tab as normal, moving through all controls in order, and up/down arrow to move between editable fields on the form. This causes some problems in that up/down arrow are overloaded, such as when selecting items from a dropdown or moving between lines on a large text area.

My gut feeling is that arrow keys should be used to manipulate the current control in whatever way it supports.

But Tab is already somewhat overloaded. Tab moves forward, Shift+Tab moves back, Alt-tab is owned by windows, ctrl+tab/ctrl+shift+tab moves back and forth between application tabs (which we also need).

Perhaps Alt+arrows to move between only editable fields? Or even page-up/page-down? Those might be overloaded is some cases too, but not nearly as much.

Looking for guidance. Thanks!

share|improve this question
I don't quite understand what you mean by "other controls placed interstitially in the form". Do you mean spaced out visually? Can you explain, please? – eleanor.mal May 28 '13 at 23:10
Imagine a form with many fields, so pretty typical. Top to bottom, they generally have a label, are some kind of "box" control (text, dropdown, date, numeric, etc). However, each (or nearly each) field on the form has some button controls inline with it which affect how it behaves in the broader context of the program. For instance, removing the field from the form, or toggling some metadata state about the field. – jtheis May 29 '13 at 17:42

Actually, all form controls are "editable": a checkbox is checkable with Space bar, radio buttons are selectable with up/down arrows, etc.

The use of Tab is meant to completely control the form through the keyboard without using the cursor, not just to help people type faster in text fields. If some form control is skipped by Tab, that only means that you'll have to use your cursor to select it, interrupting the keyboard flow and thus decreasing usability.

Ancillary buttons, such as "Select users..." or "Browse..." should be activated by Enter after focusing them using Tab.

Page scrolling in a form should occur automatically when shifting focus from one field to another, or by using arrow keys when no control is selected (typically in Web pages).

As previously said, the use of arrow keys to move between elements is only standard when moving between elements of a combo box, a list box or a radio button group. So, using them to shift focus between fields is not conventional and will probably confuse users.

To summarize: make all user-input fields accesible in order using Tab (and only Tab) and avoid using arrow keys to replicate the same function.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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