我尝试在 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/