web-dev-qa-db-fra.com

Comment se fait-il qu'il n'y ait pas de moyen standard de soumettre un formulaire Web avec le clavier?

Je sais qu'en général, vous pouvez appuyer sur Entrée tout en étant concentré sur un champ de formulaire pour soumettre un formulaire. Cependant, certains éléments comme les sélections et les zones de texte rompent ce comportement. Comment se fait-il que nous n'ayons pas de standard Web permettant à l'utilisateur de soumettre un formulaire avec le clavier quel que soit le type d'élément actuellement ciblé? (tabuler sur le bouton Soumettre n'est pas une solution générale raisonnable, cela prend trop de temps et d'attention)

Par ailleurs, j'ai remarqué que certains sites (par exemple Asana, Gmail, GitHub) ont introduit Ctrl-Enter pour soumettre de manière fiable avec le clavier. Y a-t-il un effort pour normaliser ce comportement dans les navigateurs via un RFC? Cela semble être un trou flagrant dans les formulaires Web.

6
Gabe Kopley

Ce n'est pas un trou flagrant dans les formulaires Web, c'est juste que les formulaires Web suivent l'UX des formulaires informatiques. Enter est, à partir des instructions de raccourci clavier Windows , à:

Exécutez la commande par défaut de la boîte de dialogue ou la commande du contrôle sélectionné.

Vous voulez essentiellement avoir un contrôle supplémentaire pour le cas spécifique lorsque Enter est la commande du contrôle sélectionné.

D'après ce que je sais, il n'y a jamais eu de convention pour "soumettre un formulaire indépendamment de la saisie".

Où avoir un raccourci pour quand vous pourriez avoir à frapper Tab Plus de 10 fois en vaut la peine, généralement vous n'aurez pas de formulaires avec 10 listes déroulantes d'affilée.

Les moments où j'ai vu Ctrl + Enter comme raccourci est généralement lorsque vous avez une zone de texte, par exemple lors de l'envoi d'un e-mail. Mais Ctrl + Enter est utilisé comme raccourci dans de nombreux cas, par exemple dans la barre d'adresse de Firefox Ctrl + Entrée convertira example en www.example.com et allez à la page, donc ce n'est certainement pas une norme.

D'après ce que je peux dire, l'ennui que vous avez n'est pas assez ennuyeux pour avoir une norme pour cela.

1
icc97

La raison en est que certains utilisateurs (caissiers de banque par exemple) utilisent uniquement le clavier (par souci de rapidité). Lors de la sélection d'une option dans une zone de sélection, ils doivent appuyer sur Entrée pour choisir la sélection. Si le formulaire devait être soumis sur Entrée, cela pourrait entraîner une erreur si vous appuyez accidentellement deux fois sur Entrée.

Il existe des implémentations, comme onChange -> submit, mais cela est utile (pas toujours) lorsque votre formulaire ne contient qu'un élément qui est sélectionné.

0
Ivan Venediktov

Je pense que personne n'a pris l'initiative de proposer une norme. Je vais le faire ici: Ctrl-Entrée devrait être la norme et les fournisseurs de navigateurs devraient l'intégrer.

0
Gabe Kopley