2009-11-10 12 views
1

Dans Visual Studio .NET, la propriété TabStop est définie par défaut sur True pour tous les champs de commande et d'entrée. La plupart des autres concepteurs ont un certain concept de contrôle de tabulation pour les «utilisateurs avancés» qui n'aiment pas beaucoup passer à leur souris.Principe de conception: existe-t-il une raison pour désactiver TabStop?

Cette propriété bascule simplement la possibilité pour le contrôle de recevoir le focus lorsque l'utilisateur appuie sur le bouton de tabulation pour parcourir l'ordre de tabulation.

J'ai entendu de nombreux développeurs dire si tous les champs devaient être dans l'ordre des onglets. Voici quelques-uns des arguments que je l'ai entendu de chaque côté:

Toujours:

  1. Désactivation de l'ordre de tabulation à un bouton oblige l'utilisateur à prendre ses mains sur le
  2. clavier pour cliquer ce qui ralentit votre flux. Par défaut, Microsoft le définit comme vrai pour une raison quelconque.
  3. Les boutons désactivés/masqués ne sont pas mis au point de toute façon.

Parfois Off:

  1. boutons Annuler et supprimer les boutons doivent être en dehors de l'ordre de tabulation afin d'éviter l'exécution accidentelle.
  2. Oui c'est hors de l'ordre de tabulation, mais vous devez définir un mnémonique afin que vous puissiez toujours y accéder avec le clavier.

Ma question porte sur les principes de bonne conception:

  1. Est-il jamais une bonne raison de tourner ArrêtTabulation off pour un bouton de commande?
  2. Existe-t-il une bonne raison de désactiver TabStop pour un champ de saisie?

Si vous répondez oui à l'une de ces questions, connaissez-vous des exemples de programmes bien connus? comme Windows Media Player? ou quelque part dans le panneau de contrôle ou quelque chose comme un exemple d'un champ/bouton sans un ordre de tabulation?

+0

Alors, est-ce vraiment la réponse? "Oui, ça va, mais personne ne peut trouver un bon exemple." – Jrud

Répondre

2

Bien sûr. Microsoft Outlook. Vous passez d'un onglet à l'autre dans les champs "À", "CC" et autres, mais vous n'avez pas de tabulation sur les barres d'outils (ou sur les boutons "À ..." et "Cc ..." d'ailleurs).

Sur ma mise en page, placez le curseur dans la zone de texte "To", cliquez sur l'onglet, et passez à la zone de texte "CC" Tab pour revenir à la zone de texte et enfin l'onglet suivant corps de l'email (où un TAB insère juste un onglet dans le corps)

Il y a beaucoup d'éléments d'interface utilisateur sur des formes complexes que l'utilisateur n'a presque jamais besoin d'utiliser, mais sont là pour ces cas étranges. nouveau courriel dans Outlook et juste regarder tous les boutons là-bas.Imaginez avoir à passer par tous ceux-ci.

Il y a beaucoup d'applications où cela est fait, et c'est pour la facilité d'utilisation. Il est souvent nécessaire de supprimer les taquets de tabulation.

+0

En fait, il y a des tabulations sur les boutons To ... et Cc ...: ils viennent avant les tabstops pour les champs respectifs.Shift-Tab du champ To mettra au point le bouton Cc ... et un autre Shift-Tab mettra le bouton To ... en surbrillance. – ephemient

+0

La barre d'outils possède également un ordre de tabulation, bien que vous ne puissiez pas y accéder via l'ordre de tabulation normal. C'est comme si elle n'avait qu'un tab-stop sur ces contrôles si votre curseur se trouvait déjà dans la barre d'outils. – Jrud

+0

Je le pensais aussi, mais je l'ai essayé et les onglets ne sont pas là dans la version d'Outlook que j'utilise (2003). Je sais que les onglets étaient là sur d'autres versions, donc je me demande si/quand cela a changé. – David