web-dev-qa-db-ja.com

テーブルの列を並べ替えるキーボードショートカット

テーブルの列ヘッダーをクリックして並べ替え順序を設定する(または、この列で既に並べ替えている場合は昇順/降順を切り替える)は、標準のUI手法です。

ただし、それはマウスのみです。キーボードを使用して同じことを行う標準的な方法はありますか?そうでない場合、キーボードショートカットとして何をお勧めしますか?

7
Tony the Pony

どれほど標準的かはまだわかりませんが、w3c wai-ariaのオーサリングプラクティスガイドには、ソート可能なテーブルを含むあらゆる種類の キーボードアクセシビリティガイドライン があります。

2
Pam G

W3のような確立された標準を最初に参照する必要があるという点でも、Pamに同意します。ただし、テーブルに対するW3-ariaの推奨事項は、基本的にキーボードベースのナビゲーション(矢印キー+スペースバー)の実装です。あなたはもっと何かが欲しいかもしれません。

キーボード駆動のソートを実装したいというあなたの動機を理解するのに役立ちます。それがアクセシビリティの問題であれば、W3-ariaがその原動力であることから、確かに出発点です。ただし、非常に迅速なアクセス方法は提供されません。テーブルに多くの列がある場合、右矢印キーを押して列に移動し、並べ替えを実行する必要があります。エンドユーザーが運動能力や視覚に障害がある場合、テーブルにタブで移動するためだけに、すでにいくつかのキーを押す必要があることに注意してください。

この時点で、ホットキーはより魅力的になります。ホットキーにはいくつかの問題があります:

  1. スクリーンリーダーのデフォルトのホットキーと競合することがよくあります
  2. はっきりしない場合は覚えておく必要があります
  3. キーボード入力は、フラッシュなどの他のテクノロジーによってトラップされる可能性があります

キープレスキャプチャのコンテキスト化は、ポイント#1と#3で非常に役立ちます。たとえば、特定のキーボードの組み合わせは、テーブルがフォーカスを取得した場合、または特定のコントロールがアクティブになった場合にのみ有効になります。

視覚障害のあるユーザーにとって、ソート可能な大規模なテーブルの概念全体は最初から問題があり、そのようなユーザーはデータにアクセス、ソート、および配信するためのよりウィザードのようなアプローチの恩恵を受けるので、私はそれらを2番目の優先順位。

したがって、私たちは、a)運動障害のあるユーザーとb)パワーユーザーを考慮する必要があります。

本来、生産性を高めるために必要なホットキーを学習して覚えてくれるので、パワーユーザーはそれほど問題にはなりません。論理的で一貫性のあるスキーマを選択することが最善の方法です。たとえば、列見出しの最初の文字(または最初のn文字)を使用するだけで十分です。

一方、運動障害のあるユーザーは、最も頻繁に使用するコントロールにアクセスする最も効率的な方法を高く評価します。このため、多くの場合、キーの組み合わせではなく、コントロールが配置される場所を検討することが重要です。次に、列の並べ替えコントロールとテーブルの物理的な配置の関連付けを解除することを検討してください。または、最小限のキー操作で並べ替えコントロールに移動できることを確認してください。

そのような戦略の1つは、ウィンドウの左上(LTR言語の場合)の近くに配置できる単純なプルダウンメニューを実装することです。プルダウンメニューがフォーカスされると、簡単にそれを開いて、並べ替えの基準にする列を選択できます。近くのコントロールは順序を逆にすることができます。プルダウンメニューは通常、ホットキーに関連付けられており、ホットキーが何であるかをユーザーに通知する視覚的な方法を提供する一方で、インターフェイスを習得しているユーザーに別のナビゲーション方法(矢印キー+スペースバー)を提供します。

テーブル自体から並べ替えのコントロールを引き出すことで、対象とするすべての対象者のニーズを検討するための幅が広がります。

2
Tom Auger

これが superuser.exchange 質問への回答です

これは標準のようです:

I-並べ替えアイコンを選択します。

N-名前で並べ替える

S-サイズ順に並べる

T-タイプ別に配置するには

M-モディフィーでアレンジする

1
jonshariat

これを行うための標準的な方法はないと思います。推奨される方法については、状況によって異なります。

なんらかの理由でユーザーが頻繁にテーブルを並べ替えて(1時間に数回以上だと思います)、それがワークフローの重要な部分である場合は、簡単なショートカットを提供する必要があります。その場合は、ファンクションキー(alt/shift)と列のタイトルを表す文字(できれば最初のもの)を使用します。

しかし、典型的な場合は、ユーザーがテーブルを並べ替えることは比較的まれです。その場合、フォールバックとしてキーボードショートカットを提供するか、標準またはポリシー(非常に称賛に値する標準)をサポートする必要があります。したがって、ユーザーがショートカットを有効にするために少しナビゲートする必要がある場合は許容されます。たとえば、Alt + S(並べ替えの場合)を押して画面上の列タイトルを強調表示し、その後で関連する列タイトルを表す文字を押すだけです。 。別の方法は、列をタブで移動し、上/下またはEnterキーを押してその列の並べ替えを切り替えることです。これは、列がカスタマイズ可能であり、列の数が多く、組み合わせによっては文字が不足する場合に、より良い方法です。

なぜいつも最初の方法で行かないのですか?いくつかの標準的なショートカットを上書きする必要があり、より重要で頻繁なアクションからクイックショートカットを削除するためです。

2番目の方法では、このキーボードナビゲーションのグラフィック表現を提供する必要があります。

たとえば、MS Wordでキーボードショートカットを実装した方法をご覧ください。頻繁なアクションには常に利用可能な固定のショートカットがあり、Altを押すと他のすべてのアクションが強調表示され、それらにアクセスするためにナビゲートする必要があることがよくあります。

1