データグリッドのキーボードナビゲーション設計

パワーユーザーは、マウスを使わずに作業したいと考えています。

よく設計されたデータグリッドなら、キーボードだけでナビゲーション、編集、アクションが可能です。こうしたユーザーは、マウスを使うユーザーよりも2〜3倍速く作業を進めます。

もし、あらゆる操作にクリックを強いるようなグリッドであれば、パワーユーザーはそのツールを嫌うでしょう。

解決策は簡単です。約100行のコードと、賢明な設計上の選択があれば実現できます。

プロフェッショナルなグリッドにするために、以下のルールに従ってください:

• Tab:グリッドへの進入または退出に使用します。グリッド内では、Tabは行内のボタンや入力フィールド間を移動するために使用してください。セル間の移動にTabを使用しないでください。

• 矢印キー:セル間の移動に使用します。上下で「行」を、左右で「列」を移動します。

• Enter:詳細ビューを開くなど、行のメインアクションを実行するために使用します。

• Space:行の選択または解除に使用します。

• Escape:編集のキャンセルやメニューの閉鎖に使用します。

• HomeおよびEnd:行の先頭または末尾にジャンプするために使用します。

最大の間違いは、セル間の移動にTabを使うことです。大規模なグリッドでは、これはあまりに遅すぎます。例えば、7列×20行のグリッドがある場合、1画面分を終えるために140回もTabを押さなければなりません。矢印キーを使えば、これを解決できます。1回の入力で次の行へ移動できるからです。

インライン編集については、スプレッドシートのパターンに従ってください:

  • Enterを押してセルの編集を開始する。
  • 再度Enterを押して変更を保存する。
  • Escapeを押して編集をキャンセルする。
  • Tabを押して保存し、次の編集可能なセルへ移動する。

ユーザーがこれらのショートカットを見つけやすくするために、以下のパターンを活用してください:

  • ヘルプメニューを開くための「?」ショートカットを追加する。
  • ボタンのツールチップにショートカットを表示する。
  • 初回のみ表示されるオンボーディングのヒントを使用する。

優れたキーボードナビゲーションは、生産性を飛躍的に高める要素となります。ユーザーの作業速度を劇的に向上させるための、小さな投資なのです。

Source: https://dev.to/137foundry/how-to-design-keyboard-navigation-for-a-data-grid-so-power-users-stop-reaching-for-the-mouse-mh4