使用 Google Accessibility Developer Tools 的 jQuery UI Datepicker 焦点问题

Posted

技术标签:

【中文标题】使用 Google Accessibility Developer Tools 的 jQuery UI Datepicker 焦点问题【英文标题】:jQuery UI Datepicker focus issues using Google Accessibility Developer Tools 【发布时间】:2017-03-01 00:38:23 【问题描述】:

我有验收测试,在带有jQuery UI Datepicker 的页面上输入数据。

由于某种原因,当不相关的输入字段输入了数据时,日期选择器正在打开。这会导致其他元素在稍后的测试中被遮挡且无法点击。

测试使用 Google 的 Accessibility Developer Tools,通过在使用 ChromeDriver 的 sendKeys() 输入数据时触发的侦听器。看起来这可能是在聚焦 datepicker 元素,但并未取消聚焦。

日期选择器或辅助工具的工作方式是否会导致这种行为?

【问题讨论】:

【参考方案1】:

在运行无障碍脚本 (axs_testing.js) 时,它会通过在每个元素上调用 focus() 来检查每个元素是否可见。当关注日期选择器(打开对话框)时会出现问题,然后当关注不同的元素时,对话框不会关闭。

这是因为当字段失去焦点时它没有关闭触发器。如果是这样,当您单击它时,日历会立即消失,因为焦点会从字段上移开并导致触发发生。

对此的解决方案是修改可访问性脚本,以便在它调用 focus() 的地方添加一个检查以查看它是否尝试关注日期选择器然后(确保它尚未集中)你关闭之后的日期选择器对话框。

【讨论】:

说得有道理,但有多烦人!

以上是关于使用 Google Accessibility Developer Tools 的 jQuery UI Datepicker 焦点问题的主要内容,如果未能解决你的问题,请参考以下文章

Android Accessibility使用及事件流程简介

Android Accessibility使用及事件流程简介

抢红包软件背后的 Accessibility 服务及启动原理

使用jdk提示Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper

如何评估一个网站 - Google Chrome Audit

Accessibility Service详解