javascript 检测页面级别上的滑动(左和右)

sbdsn5lh  于 5个月前  发布在  Java
关注(0)|答案(2)|浏览(83)

我正在使用辅助功能。当用户使用画外音访问手机时,他们使用向右滑动和向左滑动来到达元素。我正在尝试检测页面级别上的滑动,因此基于动作和当前活动元素,我可以动态浏览。我们如何在JavaScript中检测网页级别上的滑动?

y4ekin9u

y4ekin9u1#

关于如何检测扫描的纯技术答案已经给出,我没有什么要补充的。
但是,当谈到可访问性时,您必须记住,“扫动”是由JavaScript用户用来在页面中导航的,这样您就无法可靠地检测到“扫动”,因为这些“扫动”事件在“旁白”处于活动状态时会被“旁白”吸收**。您对此无能为力。如果“旁白”处于活动状态,“扫动”之类的事件将不会传递到您的页面。
这导致了第二个建议:由于扫频被旁白吸收,VO用户将永远无法触发您在扫频上实现的操作。因此,提供另一种方法来执行相同的操作,例如通过链接或按钮(不是另一个手势!),否则,“旁白”用户在使用您的网站时会遇到麻烦。不要使用其他手势作为替代,因为“旁白”并不只捕捉扫过的内容。
为了更好的可访问性,我甚至建议不要使用手势检测,除非你做了仔细的测试。旁白吸收一定数量的手势,但不是全部;对讲也吸收手势,但不是所有相同的手势;所以可能会发生特定的手势通过Android,但不是iOS;还可能发生的是,某些手势在某些上下文中被吸收,而在其他上下文中不被吸收(例如,取决于当前聚焦的内容)。
对于sweep,你可能是安全的,它从来没有通过。对于其他一些人,我不太确定,所以最好是在几个平台上用几个屏幕阅读器测试。

qfe3c7zg

qfe3c7zg2#

我认为这个问题已经在StackOverflow上得到了回答。我认为这将是一个很好的https://stackoverflow.com/a/23230280/10761768链接。
简而言之,您可以将JavaScript用于整个页面或每个元素单独作为touchstarttouchmove事件侦听器,并使用x偏移量来识别它的方向。有一个库HammerJS为手势和触摸React提供额外的帮助。https://hammerjs.github.io/

相关问题