eri*_*rik 3 android accessibility talkback
我们对可访问性有一个要求,即当给定的活动打开并且用户具有 TalkBack 可访问性时,客户端希望 Talk Back 不仅读取活动名称,还读取 TextView 的文本welcomeText。该文本视图是动态的,因为它会说“欢迎”
我尝试在 onCreate() 活动中这样做:
welcomeText =(TextView)getView().findViewById(R.id.authenticatedNoWishlistWelcomeText);
welcomeText.setFocusableInTouchMode(true);
welcomeText.requestFocus();
Run Code Online (Sandbox Code Playgroud)
但这不起作用..谁能告诉我如何让 Talk Back 在启动时读取给定的 TextView 而无需用户交互?
这里要认识到的重要一点是,Focus和Accessibility Focus不是同一件事。
您正在寻找以下内容:
welcomeText.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
Run Code Online (Sandbox Code Playgroud)
执行此操作时要小心。在 onCreate 中执行此操作可能是一个坏主意,因为只有在加载应用程序活动时才会发生这种情况。您可能希望每次恢复时都发生这种情况。此外,AT(TalkBack)会在此生命周期的某个时刻创建与 Activity 的连接,因此您需要确保没有竞争条件。在您发布辅助功能活动之前,TalkBack 必须连接到您的活动。
但请注意,这可能是一个不好的要求。WCag 3.2.1 和 3.2.3 明确指出导航应该一致且可预测,其中一部分是避免焦点意外转移。这可能会被视为违反了这些准则,而且实际上比不这样做更难实现。
| 归档时间: |
|
| 查看次数: |
9904 次 |
| 最近记录: |