回答:
2つの例はおそらく「確立された実践」と呼ぶには十分ではありませんが、少なくとも2つの大きな例です。GoogleとTwitterはどちらも使用しません。または、この方法で表示したい場合、ナビゲーション用の修飾キーはGです。
あなたのTwitterの「お気に入り」ページに移動するには、あなたがヒットG、その後、F。Gmailの下書きフォルダに移動するには、ヒットG、その後D。
非ナビゲーションショートカットも単純な文字を使用します。例えばJ、リスト内を前方に移動する(ツイート、メールなど)、K後方に移動する*
*私の本では、これは絶対に間違っています。私にとって、「K」の左側にある「J」は、「J」が「前」であり、「K」が「次」であることを意味します。ただし、他の方法でそれを行うことは標準のようです。
どちらも「実際の」修飾キーを使用しません。Stack Exchangeサイトのキーボードショートカットも検討し始めており、同じことを行う可能性があります。修飾キーをまったく使用しない理由は2つあります。
一方、考慮すべき2つの注意事項があります。
ユーザーがテキストボックスに入力している間にキーストロークが発生した場合、キーストロークを無視する必要があることは明らかです。これは技術的な問題ではありませんが、ユーザーがショートカットを使用できないことを意味します。
たとえば、ページが検索ボックスに自動焦点を合わせている場合、またはWebアプリのテキスト入力が非常に多い場合、問題が発生する可能性があります。
有効化/無効化について考えることをお勧めします。キーボードショートカットはパワーユーザー機能です。「通常の」ユーザーは、誤ってキーボードショートカットをトリガーすると驚かれるかもしれません(当然、修飾キーを押すとこれが起こりにくくなります)。
たとえば、Gmailのキーボードショートカットはデフォルトでオフになっていますが、例外として、?ショートカットを有効/無効にするためのリンクなど、キーボードショートカットのヘルプが表示されます。キーボードショートカットは、それを設定しても大丈夫だと言うことができる領域だと思います(ユーザー設定は、Stack Exchangeサイトで一般的に回避しようとするものです)。
しかし、「デフォルトでオフ」は明らかに発見可能性を隠しますが、これは問題になる場合もあれば、そうでない場合もあります。
–しかし、すべてのことを考慮すると、「モディファイヤキーなし」は私にとって良い解決策のように思えます。
@balpha
です。Jは「ダウン」で、Kは「アップ」であることを指摘したいと思います。VIMテキストエディターは同じロジックを使用します
最適なオプションは次のとおりです。
修飾キーを使用せず(1回のキー押下のみ)、ユーザーのカーソルが入力フィールドまたはテキスト領域にあるときにキー押下の検出を停止します(GoogleがGmailショートカットで行うように)。
-または-
アナリティクスデータのオペレーティングシステムの統計に基づいて、訪問者の大部分に適したデフォルトを選択します。デスクトップソフトウェアと同じように、ショートカットを必要とするパワーユーザーがショートカットをアクティブにし、ユーザー設定で修飾キーを上書きできるようにします。
-または-
修飾キーの代わりに「トリガー」キーを使用します。たとえば,2、タブ付きナビゲーション領域の2番目のタブに,3移動し、3番目のタブに移動することを検討してください。コンマとそれに続く数字の組み合わせは、競合や偶発的なプレスの可能性を減らすのに十分なほどまれです。
いずれの場合も、ショートカットキーを気にしないと思われる大多数のユーザーの予期しない動作を防ぐために、既定でショートカットキーを無効にすることを検討できます。
これらのメソッドをお勧めする理由は、ブラウザ環境でJavaScriptを使用しても安全であると考えることができる標準化されたクロスプラットフォーム修飾子キーがないことです。何でも含みますCtrl、Shift、AltまたはCmd特定のプラットフォームでブラウザのショートカットを壊す可能性があります。
たとえば、Ctrl+ を使用することをお勧めするとShift、Windows上のFirefoxのショートカットが破損し、その多くはその組み合わせを使用して、+ などの特別な機能を実行しますCtrlShiftD、開いているすべてのタブをブックマークする +ます。
クロスプラットフォームの標準がないため、ブラウザのメーカーは異なるショートカットを使用して、異なるプラットフォームごとにアクセスキーをトリガーします。アップルはCtrlAltたとえば、 MacおよびWindowsのSafariで使用します。
さらに、各ブラウザはショートカットの競合を異なる方法で解決し、これはユーザーに予期しない結果をもたらします。JavaScriptの機能にキー入力をバインドすると、ネイティブブラウザショートカットとしても機能します...
return false;
に実行しますが、JavaScript関数に続いてFirefoxブラウザーショートカットを実行しますreturn true;
(つまり、デフォルトで両方を実行します)。[ソース:John Resigのjquery.hotkeysのreadmeページの足元の補遺。]