私は、Web サイトの要素に関連付けられた JS イベントを視覚的に表示する、この優れた Chrome 拡張Visual Eventを使用しています。
それを使用して、イベントではない JavaScript を使用してクリックに反応する他の方法があるように見えることに気付きましたか?
たとえば、次のページには JavaScript でプログラムされたダイアログがありますが、ビジュアル イベントにはイベントが表示されません。
https://media-mediatemple.netdna-ssl.com/wp-content/uploads/2014/accessible.html
ソース コードを見ると、 (jQuery 関数? .addEventListener
) ではなく (プレーンな JS 関数?) を使用していることがわかります。.click
両方のバリアントを含むデモ ページを作成しました。
http://codepen.io/jmuheim/pen/jqBodO
しかし、違いはこれだけではないようです。NVDAのようなスクリーンリーダーを使用すると、クリックに反応する要素をアナウンスclickable
するためですが、どのような場合でもこれを実行しないようです。
最初の例 (モーダル ウィンドウ) では、NVDA は何も言いませんclickable
:
私の例では、NVDA はclickable
両方の要素をアナウンスします。
したがって、少なくとも 3 つの異なるタイプがあるように思われるため、JavaScript でクリックに反応するさまざまな方法について、私は本当に混乱しています。
- を使用する
.click
もの。これは常に NVDA によって としてアナウンスさclickable
れ、ビジュアル イベントによって表示されます。 .addEventListener
NVDA によってアナウンスされているもの (およびビジュアル イベントによって表示されないもの)- NVDA で発表されて
.addEventListener
いないもの (ビジュアルイベントで表示されていないもの)
ここで違いを教えてもらえますか?ありがとうございました。