gpt4 book ai didi

flutter - 以编程方式移动可访问性焦点

转载 作者:行者123 更新时间:2023-12-03 15:14:21 25 4
gpt4 key购买 nike

按下按钮时是否可以将辅助功能焦点(iOS 的 VoiceOver 和 Android 的 Talkback)移动到定义的小部件?

我试过在 Semantics package 中搜索但我找不到获得它的方法。

让屏幕阅读器从头开始重新启动语义树就足够了。

我有一个 PageView带有 3 个页面和按钮,可使用 PageController 向后/向前移动.当使用按钮(调用 _pageController.animateToPage )更改时,我想将焦点移到页面的开头。

最佳答案

简而言之,不,目前没有允许您通过代码移动可访问性焦点的方法。

引用 https://stackoverflow.com/a/28481095/6668797 处的免责声明作为一些背景(即使 Android 仍然允许我们这样做..)

DISCLAIMER: Forcing focus on Activity load to be anywhere but at the top bar is always (okay, always should almost never be said), but really, just don't do it. It is a violation of all sorts of WCAG 2.0 regulations, including 3.2.1 and 3.2.3, regarding predictable navigation and context changes respectively. You are, likely, actually making your app MORE inaccessible by doing this.

http://www.w3.org/TR/WCAG20/#consistent-behavior



Dart 团队目前坚定地支持该规则,因此添加此功能并不是优先事项。

如果您真的希望通知用户现在可以看到不同的页面,您可以使用 SemanticsService.announce()在某些操作后通知用户。例如,在 onPageChanged 中设置它,
onPageChanged: (int page) {
// announce new page
}

关于flutter - 以编程方式移动可访问性焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57273232/

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