私は楽しみのために書いた数独プログラムのフロントエンドに取り組んでいます。どのインターフェースが最も論理的であるか、つまり完全にクリックベースのインターフェースか、標準のキーボード入力方法かについて議論しています。
クリックベース:この方法の利点は、マウスとキーボードを切り替える必要がないことです(ほとんどの人が両手で操作できることを認めています...)。希望の四角をクリックして、表示されるリストから値をクリックできます。これにより、これをモバイルデバイスに簡単に移植できます。
キーボードベース:この方法では、ユーザーは目的の四角をクリックするか、タブキーを使用して四角の間を移動できます。これにより、最初に値を入力するとき(たとえば、ボードに開始値を入力するとき)が簡単になりますが、その後、モニターからキーボードに目を移動するので、面倒になります。
この問題についてあなたの意見は何ですか?片方がもう片方より優れていますか?
一般
基本的に2つの操作があります。
それぞれがキーボードまたはマウスで可能であり、マウスでセルを選択して、キーボードで値を入力できるはずです。
マウスとキーボードの切り替えは高価であり、経験豊富なユーザーにとっては必要ではありませんが、アプリの仕組みを学習する際によくあることです:探索用のマウス、それから明白なキーボードの方法を試して物事をスピードアップしてください。
マウスのみ
セルをクリックしてから、番号をクリックします。
この特定のケースでは、クリックするセルの近く/周りのポップアップを避けます。これは、選択する値のヒントを含む周囲のセルをカバーできるためです。
別の「値が適切」(つまり、数独フィールドの右または下)はマウスには適していませんが、タッチには問題ありません。
興味深い方法は、セルに選択肢を入れることです。小さな3x3マトリックスとして。ただし、選択したセルに非表示でないポップアウトまたは「魚眼」効果があったとしても、指のターゲットはおそらく小さくなります。 neighboringセルをクリックターゲットにすることで、これを「保存」できます。これには、いくつかの視覚的な手がかりが必要ですが、「セル中心のポップアップ」が混在する可能性があります「隠さないで」と。
[編集]注:両方のウェルを実装することはお勧めしません。両方のオプションを1つの画像に入れるだけです。 [/編集]
キーボード
矢印キー(または「4方向コントローラ」)でセルを選択し、数字を入力するか(使用可能な場合)、Enter /スペースを押して「値のウェル」にアクセスし、4方向コントローラで値を選択します。
混合モード典型的な方法は、マウスでセルを選択し(クリックして)、キーボードで値を入力する(数値を入力する)ことです。数値ブロックを使用したマウス左利きには完全に機能しますが、数値ブロックには2つの方向性があることに注意してください。
両方のオプションを与えるのはどうですか?一部のユーザーはキーボードの使用を好む場合とそうでない場合があると思います。あなたが言ったように、同じユーザーであってもキーボードを好む場合もあれば、マウスを好む場合もあります(たとえば、マウスではなくトラックパッドを使用する場合、キーボードオプションを選択しますが、物理的なマウスがある場合は、マウスオプションを選択します)。
ユーザーがキーボードを使用して数値を入力できるようにし、マウスで数値を選択できるようにする場合(セルをクリックした後に仮想テンキーが表示される可能性がありますか?)、より多くのユーザーをカバーします。両方のオプションを提供する余分な労力は価値があります。
選択する必要がある場合は、マウスベースですが、リストの代わりに、3x3マトリックスを提供して数を選択します。
数字を入力するには、マウスからキーボードへ、またはその逆への多くの移動、または大量のタブクリックが必要になります。
コンボから選択するとイライラすることがあります。
私は別のアプローチで行きます-マウスのみ、またはキーボードのみ。
マウスのみ:側面に1..9の範囲の数値を提供します。これは正方形の上にドラッグできます。また、初心者の場合、ドラッグアンドドロップオプションを減らして、各ターゲットセルの法的可能性に合わせることができます。
キーボードのみ:ナビゲーションの矢印としてqweasdzxcを使用し、入力のテンキーを使用します(numlockがオフの場合でも)。そうすれば、キーボードだけが必要になります。
キーボードを使用するのが最善の方法だと思いますが、キーボードを使用する場合、3x3パネル(および消しゴム)を作成することは理にかなっていますか?答えは「シミュレーション」です
あなたの代わりに、私はこれらの2つの実装へのアプリケーションを作るよう努めます:
このようにして、両方と顧客の快適さを兼ね備えています。