web-dev-qa-db-ja.com

キーボードでWebフォームを送信する標準的な方法がないのはなぜですか?

一般的に、フォームを送信するためにフォームフィールドに集中しているときにEnterキーを押すことができることを知っています。ただし、selectやtextareasなどの特定の要素は、この動作を壊します。現在フォーカスされている要素の種類に関係なく、ユーザーがキーボードでフォームを送信できるWeb標準がないのはなぜですか? ([送信]ボタンにタブ移動することは、妥当な一般的な解決策ではありません。注意と時間がかかりすぎます)

ちなみに、一部のサイト(Asana、Gmail、GitHubなど)では、キーボードで確実に送信するためにCtrl-Enterが導入されていました。 RFCを通じてブラウザでこの動作を標準化する努力はありますか?これは、Webフォームの明白な穴のようです。

6
Gabe Kopley

これはWebフォームの明白な穴ではなく、WebフォームがコンピューターフォームのUXに従っているだけです。 Enter Windowsキーボードショートカットのガイドライン から、次のようになります。

ダイアログボックスのデフォルトコマンドまたは選択したコントロールのコマンドを実行します。

基本的に、特定のケースについて追加の制御を行いたい場合 Enter 選択したコントロールのコマンドです。

私が知っていることから、「入力に関係なくフォームを送信する」という慣例はありませんでした。

あなたがヒットする必要があるかもしれないときのためのショートカットを持っているように Tab 10回以上の価値があります。通常、ドロップダウンが10行あるフォームはありません。

私が見た時代 Ctrl + Enter ショートカットとしては、通常、テキスト領域がある場合です。メールを送信するとき。だが Ctrl + Enter 多くの場合、ショートカットとして使用されます。 FirefoxのアドレスバーでCtrl + Enterを押すとexamplewww.example.comに変換されてページに移動するため、これは標準ではありません。

私が言うことができることから、あなたが持っている苛立ちはそれのための標準を持っているのに十分に迷惑ではありません。

1
icc97

その理由は、一部のユーザー(銀行のレジ係など)がキーボード(スピードアップのため)のみを使用しているためです。選択ボックスからオプションを選択するときは、Enterキーを押して選択を選択する必要があります。 Enterでフォームが送信される場合、誤ってEnterを2回押すと、エラーが発生する可能性があります。

OnChange-> submitのような実装がありますが、フォームに選択されている要素が1つだけ含まれている場合、これは(常にではない)便利です。

0
Ivan Venediktov

標準を提案するために率先して取り組んだ人はいないと思います。ここではそのようにします。Ctrl-Enterが標準で、ブラウザベンダーがそれを組み込む必要があります。

0
Gabe Kopley