2017-08-01 2 views
-2

アクセシビリティ機能を備えたレスポンシブウェブサイトを実装しました。 Angular 1.xに組み込まれています。ユーザーがアクセシビリティ機能を使用してサイトにアクセスしているかどうかを知りたいjavascriptでデバイスパラメータにアクセスするにはどうすればよいですか?アクセシビリティ機能付きウェブサイトにアクセスしているユーザーの検出

答えて

0

支援技術のユーザーには、さまざまな種類の障害のさまざまなソフトウェアやハードウェアが非常に異なっています。 あなたの質問はあいまいです。スクリーンリーダーを検出しますか?画面拡大鏡?手を使うことができない人のためのポインティングデバイス(音声および/または目で駆動)読書は父親の問題に役立ちますか?何か? ご覧のとおり、支援技術の世界は非常に幅広く、ユーザーと同じように多くの方法でカスタマイズすることができます。

しかし、とにかく何を検出しようとしているかにかかわらず、その答えは常に基本的には同じである:100%の証明解決法はありません。 たとえば、stackoverflowやその他の場所でキーボード、マウス、タッチスクリーンなどの有無を検出する方法を検索すると、さまざまな回答があることがわかります。しかし、それらのどれも、実際にはすべて100%正確でも完璧でもありません。 あなたは多かれ少なかれ明らかな手がかりを得ているかもしれませんが、これとは関係ありませんが、決して100%確実ではありません。時には、しばらくしてから確実に確実な部分を得ることができます。

スクリーンリーダーや拡大鏡を検出するには、難易度が一段と向上します。典型的なscren読者のユーザーは何ですか?キーボード、マウス、タッチなし?おそらくそうではありません。メインゾーンを区別するのに十分な視力があるが、小さいアイコンのボタンで正確にクリックできない場合はどうすればよいですか? ディクテーションソフトウェアを使用していて何らかの理由でキーボードを使用できない場合、または今のところ私の手が忙しいからといってどうでしょうか? iOSにはVoiceOverが存在するため、スクリーンリーダーにタッチスクリーンが表示されることがあります。その他

検出には別の問題があります。マウスがありますが、必ずしもそれを使用することを意味するものではありません。ラップトップモードとタブレットモードの間で切り替えることができるコンピュータはどうですか? 反対に、私はスクリーンリーダーのユーザーになり、マウスを誤って動かすことがあります。 あなたのサイトは私のことについて誤った結論を下し、不適切なインターフェースを私に提示します。

ああ、私は目が見えない場合は、あなたのサイトを使用しようとすると、それを行うことはできませんし、最後に私を助けるために賢明な人を呼ぶ?あなたのサイトがスクリーンリーダーインターフェイスを使用しているため、この人は私を助けることができません。

ここには真実があります。ユーザーが持っているもの、していないもの、誰ではないものについて何も想定しないでください。 ユーザーは、すべての入力手段を同時に使用したり、いつでも変更することができると考えてください。

:代替テキストを表示し、ユーザーがスクリーンリーダーを使用していることを知っているときだけでなく、いつでもコンポーネントにアクセスできます。

可能な限りデバイス検出が不要なように設計してください。

1

スクリーンリーダーを使用している人は、標準ブラウザ(Firefox、Chrome、Internet Explorer/Edgeなど)を使用しています。アクセシビリティAPIを使用して、ページの構造に関する情報をスクリーンリーダーに提供します。しかし、ユーザーがアクセシビリティAPIを使用しているかどうかを知ることは不可能です。

もちろん、ユーザーがonmousemoveイベントを追跡してマウスを使用するかどうか、またはユーザーがキーボードを使用するかどうか(たとえば、onkeyupイベントなど)のような単純なものを追跡できます。スクリーンリーダーは、focus()click()などの特定の動作をエミュレートしますが、すべての標準的なキーボード/マウスイベントはエミュレートしません。タッチイベントも考慮する必要があります。

関連する問題