2017-04-05 4 views
0

私はSPA 1.5のアプリを持っています。ユーザーが新しいページに移動すると、そのページにはオートフォーカスされた入力がないことがあります。例えば、ユーザーが登録に成功したことを伝えるお祝いのページです。私はやっているとややハックな解決策を思いついた。mac screenreaderがdivの見出しテキストを自動的に読み込ませるようにするには?

$( '。登録確認')。attr( "tabIndex"、0).focus();

ので、スクリーンリーダーが自動的に登録確認のdiv内のテキストを読み出し、その後私はまた、フォーカス

.registration-確認{ &からCSSの青のアウトラインを防ぐために持っていた:フォーカス{ 概要:0; //フォーカスにWebkit注入された輪郭を削除する } }

これを行う簡単な方法はありますか?多分アリアの属性と?

答えて

2

ええ、それはやめてください。特にアクセシビリティがあまり良くありません。特に、フォーカスインジケーターをつまんで混乱させてしまったからです。 ARIAの役割は、これを処理するための正しい方法です:

  • あなたがエラーを報告しようとしている場合、これはすぐにスクリーンリーダーが発表した侵襲的であるので、自由に使用すべきではありませんれますARIA role="alert"を取得する必要があります。
  • 成功報告やその他の進捗状況については、ARIA role="status"を使用できます。しかし、それでもそれを乱用しないでください。ユーザーが次のステップで成功した登録画面にジャンプした場合、たとえば単純な「おめでとう」以外のものに適用することは不適切です。

さまざまな使用例のARIAベストプラクティスドキュメントを参照することをお勧めします。

+0

みました、それが動作しませんでした(スクリーンリーダーが何を読んでいない)が、 class = "text-center">おめでとうございます は役に立ちました – WinchenzoMagnifico

+0

これは典型的なことです。ステータスの役割は、一般に進行状況バーや同等のテキストの更新(「準備中」、「インストール中」、「完了」など)に使用されますが、それに集中すれば継続的に通知されます。一方、アラートは、私が行動を起こす必要があることを知らせるために何か他のことを中断します。そのため、エラーやそれに類するイベントのために控えめに使用する必要があります。 –

関連する問題