2017-09-15 8 views
1

を働いていないスキップ私は私のウェブアプリでヘッダ上の主なコンテンツへのリンクをスキップ追加しました。 WindowsとMacOSでは期待通りに動作します。それはIPhoneでも期待どおりに動作します。しかし、同じことがAndroid Chrome/Talk Backでは機能していません。アクセシビリティアンドロイドはナビゲーションリンクが

私はさらにチェックする場合、このスキップナビゲーションリンクもwebaim.orgで作業されていません。アンドロイドクロムは、この問題を持っている理由私はhttps://www.bignerdranch.com/blog/web-accessibility-skip-navigation-links/

を参照してくださいコードは、誰かが助けてくださいもらえますか?それはブラウザの動作ですか?助けてください。

答えて

1

だが、このシナリオでは何が起こっているのかを分析してみましょう。

1)TalkBackに、これは非常に重要である

要素にACCESSIBILITY_FOCUSを設定し、これはACCESSIBILITY_FOCUSないFOCUS言うことに気づきます。隠されたskipnavリンクが目に見えるようにするには、FOCUSを:focus擬似セレクタを使って要素を目に見えるようにマークする(またはおそらくスクリーン上でシフトする)必要があります。これは非常に一般的な実装です。このようなコントロールにはFOCUSを受け取ることが非常に重要です。これはTalkBackでは絶対に行いません。

2)彼らはただのget焦点を聞いた要素をクリックするユーザーをダブルタップ。

ユーザーがコントロールをアクティブにすると、実際のクリックイベントは、コントロールのオンスクリーンのフォーカス矩形の中央に設定されます。実際に画面に触れるのと同様です。

3)ブラウザは、ページ上で物理クリックイベントが発生したことを確認します。

TalkBackに、本質的に盲目的に何かこの目に見えない要素をかぶせ、おそらく別のコントロールを持っていないページの領域にイベントを、マウスを下されました。いずれにせよ、ブラウザがクリックしたかったのは、FOCUSACCESSIBILITY_FOCUSしか適切に得られなかったので、決して「見えない」ため、コントロールはクリックされませんでした。

+0

詳細な回答はChrisにありがとうございます。 –

+0

これに対処していない側面がありましたか?そうでない場合は、アップホートして回答を受け入れるべきです。もしあれば、あなたの質問を明確にしてください! :) – ChrisCM

+0

申し訳ありません。私は私がそうすることをより多くの評判を必要と推測:(答えとしてこれをマークすることはできませんよ。 –

関連する問題