首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Talk Back accessibility,请求关注TextView

Talk Back accessibility,请求关注TextView
EN

Stack Overflow用户
提问于 2015-07-23 00:57:59
回答 1查看 6.5K关注 0票数 3

我们对辅助功能有一个要求,当给定的activity打开时,用户打开了TalkBack accessibility,客户端希望对话不仅要读取活动名称,还要读取我们的welcomeText TextView的文本。该文本视图是动态的,因为它将显示"Welcome“,

我尝试在活动onCreate()中执行此操作,方法是:

代码语言:javascript
复制
welcomeText =(TextView)getView().findViewById(R.id.authenticatedNoWishlistWelcomeText);

welcomeText.setFocusableInTouchMode(true);
welcomeText.requestFocus();

但这是行不通的。谁能告诉我,在没有用户交互的情况下,如何在启动时让Talk Back阅读给定的TextView?

EN

回答 1

Stack Overflow用户

发布于 2015-07-24 01:32:36

这里要认识到的重要一点是,FocusAccessibility Focus不是一回事。

您正在寻找以下内容:

代码语言:javascript
复制
welcomeText.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);

当你这样做的时候要小心。在onCreate中这样做可能不是一个好主意,因为只有在加载应用程序活动时才会发生这种情况。您可能希望它在每次恢复时都会发生。此外,AT (TalkBack)会在此生命周期的某个时刻创建与活动的连接,因此您需要确保不存在竞争条件。在您发布辅助功能事件之前,TalkBack必须连接到您的活动。

但请注意,这可能是一个糟糕的要求。WCag 3.2.1和3.2.3明确指出,导航应该是一致的和可预测的,部分原因是避免了意外的焦点转移。这可能会被认为违反了这些指导方针,实际上比不这样做更难获得。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31569490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档