6

私はTwitter Bootstrapでプロジェクトを進めており、スクリーンリーダーを使ってJavaScript componentsの周りを遊んでいます。アクセス可能なモーダルを行う方法はありますか?

モーダルダイアログを起動すると、Jawsはモーダルをスキップしてページ内の次のリンクに移動します。

アクセシブルなモーダルを実装する方法はありますか?

私が思うもう一つの解決策は、モーダルの機能に静的なページを作成し、ユーザーがスクリーンリーダーを使用するときにこのページにリダイレクトすることです。ユーザーがスクリーンリーダーを使用していると何とか検出できますか?

答えて

6

はここでアクセス可能モーダルダイアログです。

http://irama.org/web/dhtml/lightbox/詳細については、ライトボックスとモーダルダイアログの違いはほとんどありません。重要なのはモーダルパートとキーボードの管理です。
DHTMLスタイルガイドdialog modal部分とW3C/WAI-ARIA Making a Dialog Modalの非公式コピーもあります。

J. WajsbergはDIYアプローチが必要な場合はtrap the keyboard input inside a DOM elementにできるjQueryプラグインを書きました。

+0

ありがとうございます!非常に便利な答えです。 –

0

スクリーンリーダーを使用しているユーザーが自動的に検出する方法はわかりません。キーボードを使用して「特殊モード」を表示するとアクティブになるページの先頭(左:-1000emおよび位置:絶対)のリンクを非表示にするGoogleソリューションがあります。ダイアログHTMLのdiv上のアリアとアリア・アトミック=「true」のアリア・ライブ=「断定」属性を使用するようにモーダルダイアログ試し用

<a href="#" style="left:-1000em;position:absolute">Screen reader users, click here to turn off Google Instant.</a> 

。ダイアログボックスの内容をアナウンスする必要があります。 http://hanshillen.github.com/jqtest/#goto_dialog

モーダルがアクティブになると、それはユーザーによって明示的に閉じられていますまで、キーボードナビゲーションがダイアログ内に閉じ込められている:

関連する問題