web-dev-qa-db-fra.com

La meilleure façon d'accepter la saisie de plusieurs numéros par l'utilisateur?

Je construis une (très) petite application WPF qui doit accepter les entrées des utilisateurs sous la forme d'une série de chiffres.

L'utilisateur entrera de 1 à 30 numéros (tous les 6 chiffres) puis cliquera sur un bouton de type "Soumettre". C'est toute l'application, rien de plus.

Je veux que cela soit aussi "à faible friction" que possible, en gardant le nombre total de touches et de clics sur les boutons que l'utilisateur doit faire au minimum. Et en même temps, en le gardant aussi intuitif que possible.

Quelle est la meilleure façon d'accepter ce type d'entrée?

La seule chose à laquelle je peux penser est une zone de texte et l'utilisateur tape simplement ses nombres sous forme séparée par des virgules, mais j'aimerais savoir si quelqu'un a une meilleure solution.

10
Dhaust

Je suggérerais une zone de texte qui ajoute des éléments à une zone de liste. L'utilisateur doit alors pouvoir ajouter, modifier et supprimer de la zone de liste.

D'après mon expérience, alors qu'un ensemble délimité de nombres peut être facile à copier/coller d'une application à une autre, il n'est pas facile de taper manuellement, en particulier pour un maximum de 30 éléments. Au contraire, si vos utilisateurs ont l'habitude de saisir de longues chaînes délimitées, autorisez la zone de texte à accepter les éléments délimités, puis divisez automatiquement les données et ajoutez chaque élément à la zone de liste. Cela permettra aux utilisateurs expérimentés d'ajouter plusieurs éléments, tout en simplifiant les corrections en traitant la liste comme des entités individuelles.

12
Nescio

Pour réduire au minimum les séquences de touches, disposez d'une zone de texte dans laquelle vous entrez les chiffres.Chaque fois que vous saisissez 6 chiffres, copiez le numéro dans une liste et effacez la zone de texte, un seul contrôle délimité par des virgules est impossible à analyser et à rechercher des erreurs.

Mais rappelez-vous qu'il est vraiment impossible de taper autant de chiffres sans erreurs:

  • Assurez-vous qu'il est facile de modifier les numéros que vous avez déjà entrés

  • S'il existe un moyen de valider le numéro est correct, marquez le numéro comme valide/invalide dès que possible.

  • Essayez de faire ressembler l'interface utilisateur à tout ce dont ils copient les numéros si possible.

  • Afficher les numéros passés dans une liste en police à largeur fixe (ce qui permet de voir plus facilement des choses comme les 15 numéros précédents qui ont tous un 2 en 3e position, sauf pour celui-ci, je dois l'avoir mal saisi)

  • Test, Test, Test - c'est facile dans votre cas, il suffit de mesurer le temps pour entrer tous les nombres et le nombre d'erreurs - construire plusieurs conceptions et voir ce qui fonctionne le mieux, améliorer cela avec des correctifs basés sur ce avec quoi les utilisateurs ont du mal.

7
Nir

Essayez de vous appuyer sur la suggestion de @ Nescio et de la rendre très efficace.

Pensez à avoir une zone de texte et une zone de liste:

[12____]

 111111
 222222
 333333
*12____*
  • Lorsque le curseur dépasse le dernier chiffre de la zone de texte et que l'utilisateur tape un autre chiffre: ajoutez l'entrée au bas de la liste, videz la zone de texte et ajoutez ce chiffre comme premier.
    • Par exemple, si 123456 est entré et les types d'utilisateurs 7, l'entrée doit être ajoutée à la liste et obtenir 7_____ dans la zone de texte.
    • S'ils tapent Entrée, Tabulation, virgule, etc., ajoutez l'entrée et videz la zone de texte.
    • L'utilisateur niquement doit saisir les chiffres, ce qui minimise les frappes. Cependant, ils peuvent toujours utiliser des touches de délimitation supplémentaires s'ils sont habitués à le faire.
  • Refléter les modifications dans l'élément de zone de liste actuel au fur et à mesure que l'utilisateur tape. Avoir un espace réservé spécial pour les éléments vides/nouveaux (par exemple, la dernière ligne indiquant [ new ]).
  • Si l'utilisateur sélectionne un élément dans la zone de liste, remplissez la zone de texte. Laissez-les commencer immédiatement à taper pour le modifier (déplacer le focus au besoin).
    • Envisagez de prendre en charge les touches de direction haut/bas pour sélectionner les éléments de la zone de liste. Les touches doivent fonctionner, peu importe où se trouve le focus dans l'application.
  • Les interfaces utilisateur non standard ouvrent de nombreux détails subtils qui sont ennuyeux s'ils ne sont pas traités correctement. Testez et expérimentez jusqu'à ce que l'interface utilisateur semble naturelle. Demandez également à une autre personne (un collègue) de l'essayer.

Soutenez le copier-coller si vous le pouvez. Les utilisateurs ajustent souvent leur flux de travail de manière imprévue, essayez de ne pas les gêner.

2
dbkk

Vous pouvez le faire de deux manières.

  1. Créez 30 champs de saisie avec de la place pour 6 chiffres dans chacun. Lorsque l'utilisateur a tapé les 6 chiffres, passez au suivant ou utilisez l'onglet pour passer au suivant.

  2. Créez 1 champ de saisie et ajoutez un texte qui dit "Utilisez la touche de tabulation pour ajouter un nouvel ensemble de données" ou quelque chose comme ça. Et puis ajoutez un autre champ de saisie chaque fois que l'utilisateur appuie sur le champ de tabulation.

1
ThomPete

Où l'utilisateur obtient-il les chiffres qu'il entre dans votre système? Peuvent-ils copier/coller

Si c'est possible, examinez le fonctionnement de la fonction copier/coller pour saisir des numéros de série dans certaines applications comme Adobe et Microsoft. L'utilisateur peut copier une longue chaîne de nombres et coller dans un certain nombre de champs d'un seul coup.

Sinon, la réponse de ThomPete fonctionne assez bien.

0
Tucker