2011-01-20 4 views
6

現在、touchmaplite JavaScriptライブラリを使用して、モバイルWebアプリで「滑りやすい」地図(タッチスクリーンデバイス上で指で動くもの)を配置することをテストしています。このマップは、Webページにiframeとして埋め込まれています。iPhoneのWebページでVoiceOverがオンになっているかどうかを検出できますか?

iPhoneでVoiceOverを使ってこの設定をテストしたところ、VoiceOverがマップに「つまった」ことがわかりました。それを過ぎて(実際にはそれを超えて)スクロールしません。これは私たちにとって大きな障害となっています。私たちは、私たちのサイトでアクセシビリティサポートを後ろに進めたくありません。

VoiceOverによって要素を「無視」するようにマークするか、VoiceOverが他の方法(JSなど)で有効になっているかどうかを検出してiframeを非表示/削除することはできますか?私がWindowsと知っ

おかげ

答えて

1

は、画面読み上げが使用されているかどうかを検出する方法についていくつかの議論がありました。可能性のある(しかし、信頼性の低い)方法として、Flash内でactionscriptを使用して、WMsoft Active Accessibilityレイヤが使用されているかどうかを確認する方法が挙げられました。 (http://www.paciellogroup.com/blog/?p=61)

明らかに、これはボイスオーバーユーザーをターゲットにしているユーザーで、デバイス上でFlashをサポートしていないユーザーは対象になりますが、あなたが他のプラットフォームが何をしているかを知っているだけです - 私はあまりにもAppleに精通していないので、あなたが使うことができるFlashに類似したものがあるかどうかはわかりません。

あなたのケースでは、スクリーンリーダーが拾うリンクを含む非表示のテキストを利用できますが、覗き見ることのできないユーザーは、スクリーンリーダーのユーザーの代替ページを指します。この代替ページは、埋め込みマップを持たずに既存のページを複製することができます。

代わりに、voiceover \ screenreaderユーザーが地図をスキップして、VoiceOverで問題が発生していると警告することができます。

隠し文字は、CSSを使用してテキストに負のマージンを付けることで実現できます。

.hiddenText { 
position: absolute; 
margin-left: -3000px; 
} 

このようにテキストを使用すると、視覚障害のあるユーザーには表示されません(CSSを無効にしない限り)が、スクリーンリーダーによって読み取られます。

どちらの解決策も、あなたが実際に探しているものではありませんが、私は恐れていますが、あなたにいくつかのアイデアを与えるかもしれません。

関連する問題