Webショートカットに最適な修飾キーの組み合わせ


14

私のウェブサイトの多くのユーザーは、よく見るページにアクセスするためのキーボードショートカットを求めました。リンクがあるかもしれないことは知っているaccesskeyが、それらにアクセスすることはブラウザ間一貫していない。JavaScriptを使用してショートカットを検出するので、修飾キーがどうあるべきかについての入力をお願いします。私はCtrl+に傾いていShiftます。

回答:


12

2つの例はおそらく「確立された実践」と呼ぶには十分ではありませんが、少なくとも2つの大きな例です。GoogleとTwitterはどちらも使用しません。または、この方法で表示したい場合、ナビゲーション用の修飾キーはGです。

あなたのTwitterの「お気に入り」ページに移動するには、あなたがヒットG、その後、F。Gmailの下書きフォルダに移動するには、ヒットG、その後D

非ナビゲーションショートカットも単純な文字を使用します。例えばJ、リスト内を前方に移動する(ツイート、メールなど)、K後方に移動する*

*私の本では、これは絶対に間違っています。私にとって、「K」の左側にある「J」は、「J」が「前」であり、「K」が「次」であることを意味します。ただし、他の方法でそれを行うことは標準のようです。

どちらも「実際の」修飾キーを使用しません。Stack Exchangeサイトのキーボードショートカットも検討し始めており、同じことを行う可能性があります。修飾キーをまったく使用しない理由は2つあります。

  • すでに使用されているものにつまずく可能性が低い。Ctrl、Alt、Meta、Command、Shiftの任意の組み合わせは、おそらくオペレーティングシステム、ウィンドウマネージャー、ブラウザー、ブラウザープラグイン、またはGreasemonkeyスクリプトによって既に使用されています。手紙のみ?そんなにない。
  • 使いやすい。「Ctrl-Alt-Qを押してFooタブを開き、次にMeta-Shift-F12を押してBarアクションを実行します」-これは、キーボードショートカットの目的である私の人生をより簡単/速くしません。

一方、考慮すべき2つの注意事項があります。

  • ユーザーがテキストボックスに入力している間にキーストロークが発生した場合、キーストロークを無視する必要があることは明らかです。これは技術的な問題ではありませんが、ユーザーがショートカットを使用できないことを意味します。

    たとえば、ページが検索ボックスに自動焦点を合わせている場合、またはWebアプリのテキスト入力が非常に多い場合、問題が発生する可能性があります。

  • 有効化/無効化について考えることをお勧めします。キーボードショートカットはパワーユーザー機能です。「通常の」ユーザーは、誤ってキーボードショートカットをトリガーすると驚かれるかもしれません(当然、修飾キーを押すとこれが起こりにくくなります)。

    たとえば、Gmailのキーボードショートカットはデフォルトでオフになっていますが、例外として、?ショートカットを有効/無効にするためのリンクなど、キーボードショートカットのヘルプが表示されます。キーボードショートカットは、それを設定しても大丈夫だと言うことができる領域だと思います(ユーザー設定は、Stack Exchangeサイトで一般的に回避しようとするものです)。

    しかし、「デフォルトでオフ」は明らかに発見可能性を隠しますが、これは問題になる場合もあれば、そうでない場合もあります。

–しかし、すべてのことを考慮すると、「モディファイヤキーなし」は私にとって良い解決策のように思えます。


3
複合修飾子のコンボに関する別のポイント(Ctrl-Alt-Qを押してFooタブを開き、次にMeta-Shift-F12)-これは実際、アクセシビリティの観点からはかなり厄介です。または、気紛れなキーボード(咳)がある場合でも、一部の組み合わせでは指の体操が必要になる場合があります。単一キー:簡単。
マークグラヴェル

2
それは素晴らしい投稿@balphaです。Jは「ダウン」で、Kは「アップ」であることを指摘したいと思います。VIMテキストエディターは同じロジックを使用します
ミハイル

@ミハイル:私はそれを知っていますが、私はその論理に同意しません-結局、JはKの左側にあります。 。しかし、私はそれに慣れると思います:)
balpha

1
rollmops.wordpress.com/2006/05/01/vintage-computer HJKLキーは、Webが存在する前からこのように使用されてきました。この時点で、それは伝統です!
ケビン・パン粉

8

「最適な」または汎用のキー修飾子の選択はありません

最適なオプションは次のとおりです。

  1. 修飾キーを使用せず(1回のキー押下のみ)、ユーザーのカーソルが入力フィールドまたはテキスト領域にあるときにキー押下の検出を停止します(GoogleがGmailショートカットで行うように)。

    -または-

  2. アナリティクスデータのオペレーティングシステムの統計に基づいて、訪問者の大部分に適したデフォルトを選択します。デスクトップソフトウェアと同じように、ショートカットを必要とするパワーユーザーがショートカットをアクティブにし、ユーザー設定で修飾キーを上書きできるようにします。

    -または-

  3. 修飾キーの代わりに「トリガー」キーを使用します。たとえば,2、タブ付きナビゲーション領域の2番目のタブに,3移動し、3番目のタブに移動することを検討してください。コンマとそれに続く数字の組み合わせは、競合や偶発的なプレスの可能性を減らすのに十分なほどまれです。

いずれの場合も、ショートカットキーを気にしないと思われる大多数のユーザーの予期しない動作を防ぐために、既定でショートカットキーを無効にすることを検討できます。

なぜ修飾子のコンボを選択しないのですか?

これらのメソッドをお勧めする理由は、ブラウザ環境でJavaScriptを使用しても安全であると考えることができる標準化されたクロスプラットフォーム修飾子キーがないことです。何でも含みますCtrlShiftAltまたはCmd特定のプラットフォームでブラウザのショートカットを壊す可能性があります。

たとえば、Ctrl+ を使用することをお勧めするとShift、Windows上のFirefoxのショートカットが破損し、その多くはその組み合わせを使用して、+ などの特別な機能を実行しますCtrlShiftD、開いているすべてのタブをブックマークする +ます。

クロスプラットフォームの標準がないため、ブラウザのメーカーは異なるショートカットを使用して、異なるプラットフォームごとにアクセスキーをトリガーします。アップルはCtrlAltたとえば、 MacおよびWindowsのSafariで使用します。

さらに、各ブラウザはショートカットの競合を異なる方法で解決し、これはユーザーに予期しない結果をもたらします。JavaScriptの機能にキー入力をバインドすると、ネイティブブラウザショートカットとしても機能します...

  • Firefoxは、JavaScriptショートカットを独自return false;に実行しますが、JavaScript関数に続いてFirefoxブラウザーショートカットを実行しますreturn true;(つまり、デフォルトで両方を実行します)。
  • IEはJavaScript関数を実行した後、IEブラウザーのショートカットを実行します。
  • Safari / Chrome / Operaはブラウザのショートカットを処理しますが、JavaScriptのショートカットは処理しません。

[ソース:John Resigのjquery.hotkeysのreadmeページ足元補遺。]


非同時アプローチが好きです。私はおそらく使用しますが; キー
ミハイル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.