首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android没有为网络注册onFocus。如何使用Android Talkback操作可访问性焦点?

Android没有为网络注册onFocus。如何使用Android Talkback操作可访问性焦点?
EN

Stack Overflow用户
提问于 2017-11-15 19:03:08
回答 1查看 4.5K关注 0票数 6

正如标题所示,Android没有注册onFocus事件。我知道onFocus事件从未注册过,因为屏幕阅读器使用的是一种特殊类型的accessibility focus。那么,我们如何驱动/操作可访问性焦点,为用户提供更好的体验呢?

这里有一个例子:https://codesandbox.io/s/r54j2mqrl4。因此,在这里,console.log("hello!")并没有在移动安卓Talkback中为我注册,但是它在桌面mac (没有屏幕阅读器)上注册是正确的。我正在使用选项卡键导航。

对于Android的可访问性焦点,是否有类似于onFocus事件的东西?

提前谢谢你抽出时间。

设备和版本

手机安卓回放:三星Galaxy Tab S2,安卓7.0版,谷歌Chrome 62.0.3202.84

桌面macOS :macOS塞拉利昂10.12.6,谷歌Chrome 61.0.3163.100

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 22:20:14

理论上,".focus()“方法应该有效。如果收到“焦点”的东西也不会收到可访问性焦点,问题就会起作用。Android可访问性服务只能以可访问性为重点,而这些功能也是可访问性的。

不幸的是,您不能直接从Javascript操作可访问性焦点,而只能使用焦点。这就是说,当你在Android中,当你需要焦点时,这通常意味着可访问性焦点也会和焦点一起移到这个项目上。用TalkBack术语来说,这就是Tab导航的工作方式,可访问性焦点只是跟随输入焦点。它不是完美的,但它是一个合理的期望,焦点和可访问性焦点希望是相同的。虽然并不总是: EditTexts可以在TalkBack中处于quazi聚焦/非聚焦状态,这是有理由的.您可能需要与屏幕上的键盘交互,而字段仍然有光标(输入焦点)。

如果下列情况属实:

  • 元素是可访问性的,可聚焦。
  • 元素是可聚焦的。
  • A11yFocusable和可聚焦的东西是相同的,而不仅仅是后代(非常重要)。

通过在Android设备监视器中进行探索,您可以很容易地确认上述三件事。三次检查,以确保您没有将目标聚焦在您想象中的可访问性焦点上(比如元素的一个子元素)。

如果在此之后调用了.focus(),但是它不起作用,那么您实际上在用于呈现HTML/Javascript内容的can视图中发现了一个bug,没有什么可以做的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47315314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档