web-dev-qa-db-ja.com

ENTERは何をすべきですか?

Webフォームで、ユーザーがEnterキーを押すとどうなりますか?

私はサインアップフォームを書いています-名前、電子メール、パスワード、サインアップボタン:通常の種類のもの。 JavaScriptを使用しており、ページで<form...>タグを使用していないため、キーを押すたびに何が起こるかを完全に制御できます。フォーカスを変更したり、サーバーにデータを送信したり、フィールドの内容を検証したりできます。しかし、それはすべき何をしますか?

私が疑問に思っていること:Enterキーを押すと、ユーザーを次のフィールドに移動する必要がありますか(TABキーのように)?最後のフィールドにフォーカスがあるときにEnterキーを押すと、フォームが送信されますか?

19
David

Enterはフォームを送信する必要があります。タブは次のフィールドに移動するはずです。

キーボードが本来あるべきことをしていないと、ユーザーは通常それを理解しません。

37
Jeff Sheldon

組み込みのブラウザのデフォルトでは、常に入力時に送信するため、事実上の標準となっています。

通常、これを傍受してから検証を行います。検証が失敗した場合、送信イベントはキャンセルされ、フォームは送信されません。

余談ですが、なぜ<form>タグを使用しないのですか?あなたは本当にすべきです。 JavaScriptの実行が妨げられることはなく、意味的に優れています。

9
Steven Ringo

この質問は、ユーザーテストなしでは答えられません。どうして? Enterが何をすべきかは、ユーザーが誰であるかによります。これまでのところ、この質問に対する回答を見てください。最も投票されたのは、彼の専門知識に基づいて意見を述べているインタラクションデザイナーです(これにより、彼が言えることはすべて彼がすでに見ているものであることを考えると、バイアスがかかります)。彼らが同じようなものを見てきて、それに同意したからです。

しかし、本当にanswer質問をするには、ユーザーテストを行う必要があります。 Enterがフォームを送信することを期待するユーザーインターフェイスデザイナーでオーディエンスが構成されていない場合、測定なしで何を期待するかを理解することは困難です。これを行う最良の方法は、統計的に有意な数のユーザーを聴衆から取得し、フォームのさまざまなデザインを使用したときの動作を確認することです。

2
Rahul

ウェブで成長しなかった人からの意見だけです(私たちの多くは世に出ており、私たちは代金を支払います)。 Enterキーは、すべての必須フィールドが入力されている場合にのみフォームを送信する必要があります。それ以外の場合は、次のフィールドに進みます。

よりユニークなデータ入力フォームでは、ユーザーが期待する外に出ることはお勧めしませんが、ログイン画面はかなり一般的で、フィールドが少なく、混乱を招きません(フィールドは3つしかありません)。

個人的には、癖や事故でEnterキーを押してフォームが読み込まれるのを待つと嫌です。

2
JeffO

私のヒューリスティックは

  1. フォームがユーザー名とパスワードの場合、Enterキーを押すとフォームが送信されます。
  2. フォームの最後のフィールドにある場合、または送信ボタンにタブが付いている場合は、Enterキーを押すとフォームが送信されます
  3. 他のすべてのシナリオは、次のフィールドに進みます。
2
Glen Lipka

私のアドバイス-Enterキーは必要ありません。

ユーザーは、Enterがフォームを送信することを認識していません。この機能は、実験によってのみ発見できます。ユーザーは探究しないで、特にフォームで何か間違ったことをするのが怖いです。

長いフォームからEnter機能を安全に削除できます。

上級ユーザーがEnterキーを押すことに慣れているLoginのような非常に短い形式でそこに保管してください。

1
Miki