web-dev-qa-db-ja.com

JavaScriptでキーボード入力言語を自動的に変更するのは良いですか?

一部のWebサイトおよびWebアプリケーションでは、エンドユーザーが入力するフォームがあります。多言語のコンテキストでは、一部の開発者はキーボードの入力言語を変更するか、別の言語で入力する必要があるフィールドにフックして、英語のキーストロークを検出し、それをターゲット言語の文字で置き換えようとします。

それはユーザーエクスペリエンスの良い習慣ですか?これについて何か研究されたことがありますか?

9
Saeed Neamati

いいえ、そのようなことを自動的に行わないでください。これは、ユーザビリティの2つの非常に重要な原則に反します。ユーザーを驚かせないでください。

別の言語で入力することは、ユーザーが多くの状況で解決しなければならない問題です。したがって、第2言語で入力する必要があるすべての人は、彼のために機能するアプリケーション非依存ソリューションをすでに選択しています。このソリューションを自作の自作のものに自動的に置き換えるのは悪いことです。

最初の問題:ユーザーは、入力する必要があると思う言語で(すべて)入力したくない場合があります。例:ユーザーは、ネイティブの非ラテン語で書かれた言語The French Word for book is "livre"。すべてのキーワードストロークを自動的に音訳すると、フランス語の単語も音訳され、ユーザーが意図したとおりに情報を伝えることができなくなります。

2番目の問題:ユーザーが慣れているキーボードレイアウトがわかりません。はい、国ごとに1つの「標準」レイアウトがある傾向がありますが、常に最も広く使用されているわけではありません。タイプライターに一度も座っておらず、言語を入力するための2つのレイアウトとラテンシンボルを入力することを学びたくない若いコンピュータユーザーは、国の標準的なレイアウトよりも音声レイアウトを使用することを好むでしょう。ただし、音声レイアウトは常に標準化されているわけではありません。特に英語で対応する文字がない場合、1回のキーを押す代わりにキーストロークの組み合わせが存在する可能性があります。また、文字を表すために珍しいキーの組み合わせを使用するために、音訳されたラテン語で言語を入力することを長年にわたって学んだユーザーもいます。キリル文字щ。ブルガリア語を母国語とする人の間で次のように入力することを知っています:shtschtw6tおよび]。ロシア語は、おそらくshchschtschで始まる、手紙のロシア語の発音から最初の外国語へのマッピングに起因する他の組み合わせに加えて、不明瞭な理由で一般的になる可能性のある他の組み合わせに入るでしょう。また、誰かの最初のキリル文字スクリプト言語がロシア語である場合、ブルガリア語のレイアウトは、QwertyユーザーにとってDvorakと同じくらい奇妙であるため、おそらくロシア語のレイアウトを使用してブルガリア語を入力することを好むでしょう。したがって、入力フィールドの言語に基づいて標準のレイアウトを選択するのはひどい考えです。

番目の問題ユーザーが既に適切なソリューションを持っている場合、ソリューションは予期しない方法でそれと相互作用します。たとえば、文字変換にFirefoxプラグインを使用していたとき、フィールドでF2を押すと、キーボードのレイアウトがカスタマイズされたキリル文字に切り替わりました。この場合、自動化されたソリューションがどのように動作するかを予測することはできませんが、それが既存のソリューションを上書きした場合は、最初に混乱してしまいます。カスタムレイアウトの場合、?キープリント_(私がやった、私はキリル文字とクワーツ文字以外の文字の組み合わせが必要だったので)、そしてあなたのプリントは?、私は最初は非常に驚きます。文字変換機能をハイジャックするWebサイトではなく、文字変換アドオンのバグを疑っています。何が起こっているのかがわかると、自分のカスタムソリューションを使用できないことに非常に苛立ちます。ユーザーがOSに2つ目のキーボードレイアウトをインストールし、キーボードショートカットを使用して現在のウィンドウのキーボードレイアウトを変更するという通常の方法を使用しても、入力フィールドレベルでユーザーのためにそれを変更するのは意外で見当違いです。彼がしなかったときに彼が切り替えたということなど。

そうは言っても、手動でレイアウトを切り替えるオプションを提供するのは良いことです。まず、自動ソリューションの最悪の問題である驚きと制御不能の両方を回避します。第2に、ユーザーが実施しているソリューションは常にあなたのソリューションと同じかそれより優れていますが、ユーザーが現在実施しているソリューションがない可能性があります。たぶん彼は友人のコンピュータの前に座っています。多分それは彼がシステム設定を変更することを許可されていない彼の仕事用コンピューターです。たぶん彼は古いWindows 2000システムを動作させるために必死になっており、キーボードレイアウトのインストールなどの詳細については気にしません。たぶん、彼は最新のGnomeを使用しているため、キーボードレイアウトの切り替えのショートカットがお互いのバージョンを壊しがちです。理由が何であれ、Google翻訳と同様にそれを行うことができ、システムに既にインストールされているレイアウトとは独立して動作する仮想キーボードレイアウトスイッチャーを提供します。できれば、少なくともリファレンスとして使用できるアクティブレイアウトのスキーマを使用して、仮想キーボードとしても理想的なケース。

12
Rumi P.

ログイン画面で使用されている方法を使用できます。たとえば、ウィンドウにログインしていて、CAPS LOCKがオンになっている場合、フィールドにフォーカスすると、小さな気球がこの事実に注意を向けます。これは、パスワードを入力するときに通常はCAPSLOCKをオンにしたくないという前提に依存しています。同様に、特定の言語でフィールドが入力されることを期待しているが、キーボードが別の言語に設定されていることを検出した場合、(もちろん、フィールドの入力を妨げることなく)この事実に少し注意を向けることができます。

http://www.humanized.com/weblog/images/caps_lock_indication.png 撮影した画像: http://www.humanized.com/weblog/images/caps_lock_indication.png

個人的な見地から、私はかつてイスラエル政府のウェブサイトに出くわし、フォームに記入する必要がありました。ヘブライ語の値が必要なフィールドのほとんど。彼らの解決策は、すべての英語のキーストロークを関連するヘブライ語のキーストロークに変換することでした(すべてのユーザーが通常のQWERTYレイアウトを使用していると想定しています)。@ Rumi P 。はこれに対して有効なポイントを挙げました。

3
Dvir Adler