Voiceover 上的轻弹会触发哪些 dom 事件?

What dom events are fired by flick left on Voiceover?

在 iPhone 或 iPad 上使用画外音,您可以向左或向右轻拂(用一根手指向左或向右滑动)以在网站上的元素之间移动。我们想要的是,当有人到达长边导航菜单的末尾并向左轻弹以继续前进时,菜单将关闭。对于键盘导航,发生这种情况是因为菜单中的最后一个元素有一个 on-keydown 检查是否有人使用 Tab 键继续前进,如果是这样调用 "closeMenu".

我们可以监听什么 dom 事件,以便我们知道何时有人使用滑动(在 phone/tablet 上)或 Control-Option-左箭头(相当于桌面版)想要从菜单继续?

iPhone 是否将轻弹报告为按下 Ctrl-Alt-箭头键?它似乎没有将其报告为 touchstart 或 mousedown 或 keydown。根据 Dylan Barrell (http://webcache.googleusercontent.com/search?q=cache:jyTfjSFuLbEJ:unobfuscated.blogspot.com/2013/05/event-handlers-and-screen-readers.html+&cd=4&hl=en&ct=clnk&gl=us) 的此页面,Ctrl-Option-Space 被报告为 "mousedown mouseup click",但他没有提到 Voiceover 组合键加上向左或向右箭头。

您应该获得 onFocus 和 onBlur 事件。至少那是我的简单测试用例所显示的。我有一个带有 'focus' CSS 选择器的元素,当我轻拂到该元素时应用 CSS 。但是,我不确定你应该按照你的建议去做。

使用 VoiceOver 轻弹时,您实际上是在探索 DOM。您没有与该页面进行交互。它与使用 JAWS 和虚拟 PC 光标相同。您可以使用箭头 up/down 浏览 DOM 树(类似于在 VO 中轻弹 left/right),但您不与页面交互。到达您感兴趣的 DOM 元素后,然后 您可以与该页面进行交互(使用 VO 双击或使用 JAWS 双击 enter/space)。

你的提议是一个中间立场。您希望 VO 用户导航 DOM 但当他们移过其中一个元素时,您希望将其解释为与页面交互并关闭菜单。

这可能会让典型的 VoiceOver 用户感到困惑。您必须对真正的 VoiceOver 用户进行一些可用性测试。