In Visual Studio .NET the TabStop property is by default set to True for all command and input fields. Most other designers have some concept of tab control for "power users" who don't like to switch to their mouse a lot.
This property simply toggles the ability for the control to receive focus when the user hits the tab button to iterate through the tab order.
I've heard many developers talk about whether or not every field should be in the tab order. Here are some of the arguments I've heard on either side:
Always On:
- Turning off the tab order to a button forces the user to take his hands off the
- keyboard to click it which slows down your flow.
- Microsoft defaults it to true for a reason.
- Disabled/hidden buttons don't get focus anyway.
Sometimes Off:
- Cancel buttons and delete buttons should be outside the tab order to avoid accidental execution.
- Yes its out of the tab order, but you should set a mnemonic so you can still access it with the keyboard.
My question revolves around good design principles:
- Is there ever a good reason to turn TabStop off for a Command button?
- Is there ever a good reason to turn TabStop off for an input field?
If you would say yes to either of these, do you know of any well-known program examples? such as Windows Media player? or somewhere in the control panel or something as an example of a field/button without a tab order?