私は、ニーモニックを許可するWebアプリケーション製品に取り組んでいます(つまり、文字「C」の下のアンダースコアにより、キーボードの組み合わせとキーCが「閉じる」ボタンをトリガーできるようになります)。
- フォームはさまざまな開発者によって作成され、それぞれがボタンのニーモニックを静的に設定できます。
- フォームは入れ子にすることができるため、1 ページに必要なニーモニックが設計時に正確にわかるとは限りません。
- 多くのフォームを含むページでは、任意の文字を使用するニーモニックを最大 1 つ使用できます。
- フォームはどの言語にもローカライズできなければなりません。つまり、閉じるを表す「C」は、「閉じる」に使用される [言語を挿入] という単語にさえ含まれていない可能性があります。
理想的な解決策は、開発者がニーモニックを手動で指定する必要がなく、代わりに実行時に解決され、ローカライズされ、便利で一貫性のあるアルゴリズムです (私は理想的な解決策と言いました)。 ;-D)。
理想的な解決策に近い何かを達成するための良い戦略はありますか?
編集:明確にするために、
- メニューに隠されている、保存用の Ctrl+S などのキーボード アクセラレータについて話しているのではありません。ニーモニックは、ボタン ラベルの下など、画面に表示されるアクションにのみ使用されます。ローカリゼーションで変更される非表示のキーボード ショートカットではありません (いずれにせよ、Web ブラウザーで実行するため、アクセラレーターは、使用されているブラウザーの一部であるショートカットのみです)。
- 設計時にニーモニックを選択しようとする際の問題は、UI の開発を担当する担当者がローカリゼーションを認識していないことです。また、ネストされたモジュール形式を使用する問題は、ローカリゼーションがなくても競合が発生する可能性があることを意味します。
私が検討したいくつかのアイデアには、ローカライズされたラベルに基づいてフォームが特定のニーモニックを適用するために使用できるグローバル ニーモニック レジストリを持つことが含まれます。レジストリは、使用可能な文字の最適な使用方法を計算します。どういうわけか、その状態を維持する必要があります-アプリケーションの使用中に同じフォームが異なるニーモニックセットで表示されないように、静的に実行して永続化することさえできます。
Surely if I was looking to do something like that it would fit a more general algorithm - I just have no idea which one! :-)