Visual Studio .NETでは、すべてのコマンドフィールドと入力フィールドでTabStopプロパティがデフォルトでTrueに設定されています。他のほとんどの設計者は、マウスにあまり切り替えたくない「パワーユーザー」のためのタブコントロールの概念を持っています。
このプロパティは、ユーザーがタブボタンを押してタブの順序を繰り返すときに、コントロールがフォーカスを受け取る機能を切り替えるだけです。
多くの開発者が、すべてのフィールドをタブ順にする必要があるかどうかについて話しているのを聞いたことがあります。これが私がどちらかの側で聞いた議論のいくつかです:
常にオン:
- ボタンのタブ順序をオフにすると、ユーザーは手を離す必要があります。
- キーボードをクリックしてクリックすると、フローが遅くなります。
- Microsoftは、ある理由でデフォルトでtrueに設定しています。
- 無効/非表示のボタンはとにかくフォーカスを取得しません。
時々オフ:
- 誤って実行されないように、キャンセルボタンと削除ボタンはタブオーダーの外側に配置する必要があります。
- はい、タブ順ではありませんが、キーボードからアクセスできるようにニーモニックを設定する必要があります。
私の質問は、優れた設計原則を中心に展開しています。
- コマンドボタンのTabStopをオフにする正当な理由はありますか?
- 入力フィールドのTabStopをオフにする正当な理由はありますか?
これらのいずれかに「はい」と答えた場合、よく知られているプログラムの例を知っていますか?Windows Media Playerなど?または、コントロールパネルのどこか、またはタブ順序のないフィールド/ボタンの例として何か?