按下按钮时是否可以将辅助功能焦点(iOS 的 VoiceOver 和 Android 的 Talkback)移动到定义的小部件?
我尝试过在语义包 https://api.flutter.dev/flutter/semantics/semantics-library.html但我找不到方法来获得这个。
让屏幕阅读器从头开始重新启动语义树就足够了。
我有一个PageView
有 3 个页面和按钮,可使用PageController
。当使用按钮(调用_pageController.animateToPage
).
简而言之,不,目前没有方法允许您通过代码移动辅助功能焦点。
请参阅免责声明https://stackoverflow.com/a/28481095/6668797 https://stackoverflow.com/a/28481095/6668797作为一些背景(尽管 Android 仍然允许我们这样做..)
免责声明:强制将注意力集中在活动负载上,而不是在
顶部栏总是(好吧,几乎不应该说总是),但是
真的,只是不要这样做。这违反了 WCAG 2.0 的各种规定
有关可预测的规定,包括 3.2.1 和 3.2.3
导航和上下文分别发生变化。你很可能实际上是
这样做会使您的应用程序更加难以访问。
http://www.w3.org/TR/WCAG20/#consistency-behavior http://www.w3.org/TR/WCAG20/#consistent-behavior
Dart 团队目前坚定地支持该规则,因此添加此功能并不是优先考虑的事情。
如果您确实希望通知用户现在可以看到不同的页面,您可以使用SemanticsService.announce() https://api.flutter.dev/flutter/semantics/SemanticsService/announce.html在执行某些操作后通知用户。例如,将其设置为onPageChanged
,
onPageChanged: (int page) {
// announce new page
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)