gpt4 book ai didi

javascript - Android Talkback 未注册 Web 版 onFocus。如何使用 Android Talkback 操作辅助功能焦点?

转载 作者:太空宇宙 更新时间:2023-11-03 10:35:18 26 4
gpt4 key购买 nike

正如标题所说,Android Talkback 没有注册 onFocus 事件。我知道 onFocus 事件从未注册过,因为屏幕阅读器使用的是特殊类型的 accessibility focus .那么,我们如何插入/操纵可访问性重点来为用户提供更好的体验?

我这里有一个例子:https://codesandbox.io/s/r54j2mqrl4 .所以这里 console.log("hello!") 没有在移动 Android Talkback 中为我注册,但是它在桌面 mac OSX 上正确注册(没有屏幕阅读器)。我正在使用 Tab 键进行导航。

是否有类似于 onFocus 事件的东西用于 Android Talkback 的辅助功能焦点?

提前感谢您的宝贵时间。

设备和版本:

移动安卓对讲:三星Galaxy Tab S2,安卓7.0版,谷歌Chrome 62.0.3202.84

桌面 Mac OSX:macOS Sierra 10.12.6、谷歌浏览器 61.0.3163.100

最佳答案

“.focus()”方法理论上应该有效。如果获得“焦点”的事物也不会获得可访问性焦点,问题就会出现。 Android 辅助功能服务只能以辅助功能为焦点,而这些内容也是辅助功能可聚焦的。

不幸的是,您不能直接从 Javascript 操作辅助功能焦点,只能操作焦点。话虽这么说,当您在 Android 中并且某些东西请求焦点时,这通常表明可访问性焦点也会随着焦点一起移动到该项目。在 TalkBack 术语中,这就是 Tab 导航的工作方式,Accessibility Focus 只是跟随输入焦点。它并不完美,但 Focus 和 Accessibility Focus 想要保持一致是一个合理的期望。尽管并非总是如此:EditTexts 可以在 TalkBack 中处于准聚焦/未聚焦状态,这是有充分理由的……您可能需要在字段仍具有光标(输入焦点)时与屏幕键盘进行交互。

如果下列情况为真:

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

您可以通过在 Android 设备监视器中探索轻松确认以上三件事。三重检查您是否没有关注您设想获得可访问性焦点的事物(例如元素的子元素)。

如果在那之后,你调用了 .focus() 并且它不起作用,那么你基本上在你用来呈现 HTML/Javascript 内容的 webview 中发现了一个错误,不,什么都没有你可以做的。

关于javascript - Android Talkback 未注册 Web 版 onFocus。如何使用 Android Talkback 操作辅助功能焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47315314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com