javascript - 辅助功能 - Android Talkback 不会在 HTML 内容上触发焦点事件

标签 javascript android html accessibility talkback

我尝试在 Android 设备 (Moto G Android 4.4.3) 上的 HTML 页面上使用 Talkback 来执行/接收 onfocus HTML 事件,同时选择一个输入 字段。

我使用 onfocus 事件在单个输入文本上创建:当使用带有对讲功能的“触摸浏览器”时,该事件永远不会被调用。当我使用 Talkback 选择/悬停它时,我的字段上方会出现一个小轮廓,但它不是 HTML :focus 状态:

<input type="text" id="myInput" onfocus="focusFunction()" onblur="blurFunction()">

请参阅此 fiddle 示例:https://jsfiddle.net/hpgqmz7f/embedded/result/

在 IOS + VoiceOver 或 Chrome@PC + NVDA 上,调用焦点事件没有问题。

感谢您的帮助

编辑:this page表明借助辅助技术,Talkback 应在第一次点击时触发焦点

最佳答案

专为与触摸屏一起使用而设计的移动屏幕阅读器(VoiceOver 和 TalkBack)引入了一种特殊类型的“辅助功能焦点”。该焦点仅由辅助技术跟踪。 AT 将此焦点与您在 Web 开发术语中使用的其他类型的焦点分开跟踪。这种类型的焦点会在单击后发生转移,称为触摸探索。两种主要的移动屏幕阅读器都支持触摸探索模式。这就是您的文本字段 onFocus 事件未触发的原因。还没有获得关注。它已收到“辅助功能焦点”,并且在用户双击后,它应该收到一个点击事件,然后该事件将导致触发正常的焦点事件。

关于javascript - 辅助功能 - Android Talkback 不会在 HTML 内容上触发焦点事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006404/

相关文章:

javascript - 为什么在此页面上回发后 form.reset() 不起作用?

javascript - Safari 上的 setDragImage 意外崩溃

html - 在鼠标悬停时旋转一个 div 并在鼠标移开时继续

javascript - 我应该在执行 pushState 时更新所有 href 和 src 吗?

javascript - 为什么 oninput 事件在 Angular 中的行为与在 JavaScript 中的行为不同?

javascript - 在 JQuery 中加载时闪烁的图像

android - WorkManager 未初始化异常,即使 WorkManagerInitializer 未在 list 中禁用

java - 房间 IllegalArgumentException : intcannot be converted to an Element

java.lang.NoClassDefFoundError : rx. 主题.PublishSubject

javascript - 获取html/javascript中的绝对文件路径