我正在使用这个很棒的 Chrome 扩展Visual Event,它以可视方式显示附加到网站元素的 JS 事件。
使用它,我注意到似乎还有其他方法可以使用不是事件的 JavaScript 对点击做出反应?
例如,以下页面有一个用 JavaScript 编写的对话框,但 Visual Event 没有显示任何事件:
https://media-mediatemple.netdna-ssl.com/wp-content/uploads/2014/accessible.html
查看源代码时,我看到它使用.addEventListener
(一个普通的 JS 函数?)而不是.click
(一个 jQuery 函数?)。我创建了一个包含两种变体的演示页面:
http://codepen.io/jmuheim/pen/jqBodO
但这似乎不是唯一的区别。因为当我使用像NVDA这样的屏幕阅读器时,它会宣布clickable
对点击做出反应的元素 - 但它似乎在任何情况下都不会这样做。
在第一个示例(模态窗口)中,NVDA 根本没有说clickable
:
在我的示例中,NVDA 宣布clickable
了这两个元素:
所以我真的很困惑在 JavaScript 中点击时的不同反应方式,因为似乎至少有 3 种不同的类型:
- 一个 using
.click
,它总是由 NVDA 宣布clickable
并由 Visual Event 显示 - NVDA 宣布的一种
.addEventListener
用途(Visual Event 不显示) - NVDA 未宣布使用的一种
.addEventListener
(Visual Event 未显示)
谁能告诉我这里的区别?谢谢你。