質問: 生年月日フォームフィールドを提示する最良の方法は何ですか? ユーザーがdobに入力する必要があるフォームを作成しています。このためのベストプラクティスは何ですか?私は3つの基本的なオプションを識別しました: フリーテキストフィールドユーザーは、フリーテキストフィールドに日、月、年を入力できます。 utの期間中、ユーザーが「1981」ではなく「81」を入力すると、いくつかのマイナーな問題が発生することに気づきました。または、ユーザーがデータを入力するときにキーボードを見る傾向があり、画面ではなくすべてのフィールドに入力する傾向があり、それを調べて、日フィールドのみが入力されています。 ドロップダウンメニューユーザーは一連のドロップダウンメニューから日、月、年を選択できます。したがって、ドロップダウン1は1〜31のリストで、ドロップダウン2は1月から12月までです。最終的なドロップダウンの年数は非常に長いですが、これは簡単に思えます-1920年から1994年 日付ピッカー実際のオプションではありませんが、ユーザーが月と年をスクロールして生年月日を選択できるカレンダーアイコンを日付ピッカーに表示できます。 では、どちらが最善のアプローチですか、それとも他のアイデアですか?
回答: 私たちのアプリケーションでは、このソリューションを採用しています:日付ウィジェットは通常の自由形式の行編集ウィジェットです。何でも入力できます。入力した内容が何らかの形で日付として認識されるとすぐに、見つかったデータの解釈がウィジェットの下のドロップダウンのようなリストに表示されます。これらの解釈は、年と月の完全名を使用して表示され、可能性の高い順に並べられています。ウィジェットは、特定の日付範囲のみを提案するように制限できます。このように、誕生日の年として31を入力すると、2031ではなく1931が提案されます。ユーザーは提案のいずれかをクリックして、その解釈を選択できます。逆に、将来の予定を計画するために使用されるウィジェットでは、当面の日付が解釈の可能性が高くなります。もちろん、システムロケールは、入力された日付の最も可能性の高い解釈が何であるか、どの月の名前と省略形が使用されているか、解釈された日付を表示するための許容可能な形式が何であるかを決定するために使用されます。フォーカスが日付ウィジェットから離れると、ユーザーが入力したものは、解釈された可能性が最も高い日付、または「日付が選択されていません」や「無効な日付」などの筆記体メッセージに置き換えられます。フォーカスがウィジェットに戻ると、テキストは最初にユーザーがそこに入力したものになります。もちろん、日付を解釈するためのルールはかなり緩いです。セパレータをまったく使用しないだけでなく、さまざまなセパレータを使用できます。どのフィールドへの手がかりは、それらが利用可能な場合に使用されるものです(日付を2桁に短縮するなど)が、世紀の部分に 'を使用すると、その部分が年であること、または' th '' st '' nd 'または数字の後ろの「rd」は、その部分がおそらく日数であることを示唆します)。月は、数値または名前として指定できます。オプションで、その月の一意の省略形に省略できます。全体として、これは、ユーザーの観点から非常に柔軟で、高速に使用できる日付入力ウィジェットになります。