モバイルからwww.arbetsformedlingen.seにアクセスすると、メニューが表示されます。VoiceOver:ユーザーがメニュー外のオブジェクトにアクセスするのを防ぐにはどうすればよいですか?
- メニューを開くと、そのメニュー内の項目にアクセスできます。メニューをタップするとメニューが閉じられるためです。
- 何らかの理由でキーボードを使用している場合は、そのメニューのタブを から外すことはできません。
ただし、screen reader VoiceOver in IOSを使用しているユーザーは、スワイプの左右のジェスチャーを使用してDOM内の前/次のオブジェクトにアクセスするだけで簡単にそのメニューから移動できます。
質問:メニューが表示されているときにこれらのユーザーがメニュー外のオブジェクトにアクセスできないようにする方法はありますか?
<body>
<div class=”maincontent” aria-hidden=”false”>
// Main content.
</div>
<div class=”mobilemenu” aria-hidden=”true” style="display:none">
// Menu.
</div>
</body>
:によるCMSへ
不適切溶液は、以下の単純化されたコードのように、同じノードレベルで主コンテンツとメニューを配置することであろうメニューが開かれ、aria-hiddenとdisplay:noneはページの内容やメニューを表示するためにトグルされます。
もう1つの不適切な解決方法は、メニューを開いたときに他のすべてのオブジェクトにaria-hiddenを切り替えることですが、パフォーマンスの問題で不可能です。
だから、どんなアドバイスや考えなども大歓迎です!
あなたは溶液で役立つかもしれないメニュー、外にタブ移動を防止したいなぜあなたが定義することができます。さもなければ、あなたが見るものに基づいて、メニューをモーダルのように扱っています(閉じるときに 'Esc'を許可し、フォーカスを出さず、閉じたときにメニューボタンにフォーカスを戻します。最初に開いた)。それはあなたの意図ですか? – aardrian
返事が遅れて申し訳ありません。 :-)問題は、メニューから「タブ」を外しているのではなく、メニューが表示されているときにVoiceViewを使用しているユーザーがメニュー外のオブジェクトにアクセスすることを妨げます。 (そのメニューにはまだ他の問題がありますが、私たちもそれを認識して処理しています)。 –
あなたはそれをモーダルとして扱いたいと思うように、まだ私には聞こえます。VoiceOverユーザーがメニューに入ることができれば、出て行くことができるはずです。モダルは、バックグラウンドページを不活性にすることによってそれを防止します。 'Esc'キーのサポートを追加する必要があります。 – aardrian