2015-10-22 23 views
6

アクセシビリティのために私たちのwebappをテストしているときに問題が発生していますが、一見非常に単純ですが、私はGoogleで明確な答えを見つけることができませんでした。リンクが訪問されたかどうかを判断するにはどうすればよいですか?

スクリーンリーダー(特にiOSとOSX SafariのVoice Over)は、ユーザーがいずれかをクリックする前であっても、アプリ内のすべての内部リンクを「訪問済みリンク」として読み込むことが問題です。リンクはすべて同じベース(http://domain.com/path/index.html#what-the-link-doesのようなもの)を持っているので、私の最初の本能は、これらのリンクがすべて同じファイル上の異なるハッシュを指しているからです。

しかし、これは望ましい動作ではありません。すべてのリンクをちょうど "リンク"と呼びます。そこで、私の質問は次のとおりです。

  1. リンクが訪問したと見なされるかどうかを決定するにはどうすればよいですか?ドメインを訪れるだけでそれが起こるのだろうか?特定のファイルを訪問するとその原因になりますか?または、同じファイルの異なるハッシュが異なる訪問ステータスを持つ必要がありますか?

  2. この動作を制御し、訪問したリンクが読み取られないようにする方法はありますか?いくつかのアリアパラメータかもしれない?

+0

あなたはそれが '使用することにより可能です未訪問としてそれらのすべてをマークする必要がある場合:セレクタvisited'を、しかし、あなたが知っていることができない彼が訪れたリンクここにこの正確な事についての素晴らしい記事がありますFacebookやGoogleが現在やっているように、リダイレクトする前にクッキーやデータベースへのリンクをコピーするjsコードがない限り、彼はしなかったが、ユーザーがあなたのサイト外のリンクを訪問すると、 – robert

+0

を知っていて、あなたのサイトにアクセスしたユーザーのリンクを保存する方法は「プライバシーの侵害」と考えるかもしれないので、この場合は – robert

+0

のユーザーに通知する必要があります。ユーザーがhttp://example.comに行った場合/path/index.htmlはすべてのリンクよりも訪問されます。ハッシュは、ページ上の場所以外は何も意味しません。 – epascarello

答えて

1

私は質問を誤解しているかもしれませんが、あなたのリンクはあなたの例ではindex.html上にある場合、あなたが訪問したロジックは、おそらく唯一のを見ているだけで

#what-the-link-does 

http://domain.com/path/index.html#what-the-link-does 

を置き換えることはできませんクエリ文字列/アンカータグのないURIが考慮されています

+0

私はあなたが正しい方向に私を指摘しているかもしれないと思います。これをもう一度見てみると、いくつかのリンクがJSによって完全に制御されたクリック動作を持つ "#" 'を指していることがわかりました。私はリンクを "#a-unique-value"に変更すると、訪問したと考えられる可能性は低くなると思う。 – Kris

0

実装に依存します。 the specによると、

スタイルシート作成者が乱用することは可能である:リンクをしては:ユーザーが 、ユーザーの同意なしに訪問したサイトを判断するために 擬似クラスを訪問しました。

したがって、UAはすべてのリンクを未訪問のリンクとして扱い、 と未訪問のリンクを別々にレンダリングしながら、ユーザーのプライバシーを保護するための他の手段を実装します。

スペックは、相互に排他的であることを:link:visitedが必要ですが、どのように指定されていません。

+1

ここで問題となるのは、_unvisited_リンクは訪問リンクとして扱われ、それ以外の方法ではありません。 –

+0

ええ、それは問題です。 ':visited'のためのスタイリングはありません。私はちょうどそれが訪問されたかのようにすべてのリンクを読むことをスクリーンリーダーが止めることを望む。 – Kris

0

私は問題がアンカータグの誤用アクセス可能にする私はあなたが単一のページアプリケーションをコーディングしていると仮定しています、そして、別のビューへのすべてのリンクはアンカーです。代わりに、ボタンタグをCSS ninjitsuで使用する必要があります。

http://www.karlgroves.com/2013/05/14/links-are-not-buttons-neither-are-divs-and-spans/

関連する問題