代码之家  ›  专栏  ›  技术社区  ›  kdizzle

Android Talkback未注册onFocus for web。如何使用Android Talkback操作可访问性焦点?

  •  6
  • kdizzle  · 技术社区  · 8 年前

    正如标题所说,Android Talkback没有注册 onFocus 事件我理解 获得焦点 accessibility focus . 那么,我们如何驱动/操作可访问性焦点来为用户提供更好的体验呢?

    我举了一个例子: https://codesandbox.io/s/r54j2mqrl4 . 所以这里 console.log("hello!")

    有什么类似于 用于Android Talkback可访问性焦点的事件?

    提前感谢您抽出时间。

    设备和版本 :

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

    桌面Mac OSX:macOS Sierra 10.12.6,Google Chrome 61.0.3163.100

    1 回复  |  直到 8 年前
        1
  •  2
  •   MobA11y    8 年前

    .focus()方法理论上应该有效。如果接收到“焦点”的对象也不会接收到可访问性焦点,那么问题就会出现。Android可访问性服务只能专注于可访问性,也可以专注于可访问性。

    不幸的是,您不能直接从Javascript操作可访问性焦点,只能从焦点。这就是说,当你在安卓系统中,某些东西需要焦点时,这通常意味着可访问性焦点也会随着焦点转移到该项目。在对讲术语中,这就是标签导航的工作方式,可访问性焦点紧随输入焦点。这并不完美,但焦点和可访问性焦点想要相同是合理的期望。尽管并非总是如此:EditText在对讲中可能处于quazi聚焦/非聚焦状态,这是有充分理由的。。。当字段仍有光标(输入焦点)时,您可能需要与屏幕键盘交互。

    如果以下为真:

    • 您的元素是可访问的
    • 你的元素是可聚焦的
    • 可聚焦的东西和可聚焦的东西是一样的,不仅仅是后代(非常重要)。

    通过在Android Device monitor中进行探索,您可以轻松确认上述三件事。三次检查您是否没有关注您所设想的事物的某个部分(例如元素的子元素),以获得可访问性关注。