问题标签 [talkback]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
353 浏览

android - Android TalkBack 拦截屏幕触摸:谷歌该与谁讨论这个问题?

我正在创建一个 Android 游戏来帮助人们学习输入盲文。这不是一个用手指阅读盲文的应用程序,但它确实包含一些盲文单元格的交互式“图像”。

我创建了一个在屏幕上显示盲文点的界面。当您将手指移过这些点时,设备会振动,并播放特定的 MIDI 音符,具体取决于您当前触摸的点。

一切都很好。现在解决问题。

大多数想要学习盲文的用户还希望在他们的 Android 手机上启用 TalkBack。但是,当 TalkBack 处于活动状态时,它会拦截所有单指滑动触摸动作。这可以防止我在用户用单指触摸时触发振动和 MIDI 声音。

我可以将我的界面设计为使用 TalkBack 文本转语音,但这是一个糟糕的解决方案:我的应用程序的主要价值不能仅通过文本转语音来传达。

我看到许多其他开发人员也遇到过类似的困难,TalkBack 阻止他们为 TalkBalk 旨在帮助的用户创造价值。我可以在 Google 联系谁来开始讨论,从而得出一个触觉用户友好的解决方案?


编辑

一种解决方法是要求用户用 2 根手指触摸屏幕。一根手指将被忽略,而另一根手指可用于浏览屏幕,就像禁用了 TalkBack 一样。不幸的是,很难预测两个手指中的哪一个将被视为活动手指。

0 投票
2 回答
1493 浏览

android - TalkBack 未发布 Android 通知

我的 Android 应用会创建一个通知。通知已正确显示。但是,TalkBack 不会宣布通知,例如,当我收到新电子邮件时。如果我显示所有通知并滚动浏览它们,TalkBack 将读取我的通知文本。但是,我希望它在提出通知时自动宣布通知。

0 投票
2 回答
2376 浏览

android - 为什么 nextFocusDown 不适用于 TalkBack 导航?

我有四个 TextView,我试图控制当用户使用 TalkBack 和触摸手势导航时它们获得焦点的顺序。

当用户打开 TalkBack,触摸“foo”,然后向下滑动以在 TextView 之间导航时,我希望顺序为 foo->baz->bar->qux。但是,我尝试使用 nextFocusDown 设置的顺序似乎没有效果,相反,焦点顺序总是跟随屏幕上 TextViews 的位置。我已经尝试了可点击、可聚焦和可聚焦InTouchMode 的所有可能组合。我试过在代码中的视图上调用 setNextFocusDownId 。我尝试在 TextViews 上设置 android:imeOptions="actionNext"。似乎没有任何效果。我错过了什么?

0 投票
2 回答
2853 浏览

android - PagerTabStrip TalkBack 辅助功能

我目前正在努力创造PagerTabStrip更多的TalkBack发声。上下文是:

  • 我想在左右选项卡上添加“选项卡 [选项卡名称] 未选中,单击两次以选择”,并将“选项卡 [选项卡名称] 选中”添加到TalkBack用户的中心。
  • 我还想在单击选项卡时添加发声,以警告用户其内容已更改并告诉TalkBack关注中心选项卡。

我已经通过重写所有需要的类(例如:、、、)并直接在选项卡上添加正确的部分成功地PagerTitleStrip做到ViewPager了这FragmentPagerAdapter一点。它工作得很好,但我不满意。这些类的维护需要针对 Android 主类的每个新版本进行更新(或者我将保留旧设计),并且我发现每次都复制粘贴所有类内容很脏(下一个开发人员呢?)。所以,我尝试了另一种方法:contentDescriptionTextView

  • AccessibilityEvent在子类中使用PagerTabStrip为发声提供更多上下文。它不起作用,因为getText()其中getContentDescription的方法AccessibilityEvent不用于发声。
  • 继续努力AccessibilityNodeInfoViewPager看看我能不能解决。但是我还没有确定发声的来源(是标签还是内容),也没有确定AccessiblityNodeInfo要更改发声必须更改的内容。

所以,我想知道是否可以使用子类来解决我的问题,或者我是否别无选择,只能复制主类。在此先感谢您的帮助。

0 投票
5 回答
63122 浏览

android - Android - 将 TalkBack 辅助功能焦点设置到特定视图

启用 TalkBack 后,有没有办法将辅助功能焦点手册设置为特定视图?例如,当我的 Activity 启动时,我希望 TalkBack 自动关注某个 Button(视图周围的黄框)并阅读其内容描述。

到目前为止我已经尝试过:

requestFocus() 似乎只是请求输入焦点,与可访问性焦点无关。我也试过:

这些似乎都不起作用。

0 投票
1 回答
2112 浏览

android - Android:当“焦点”位于特定视图上时,如何在对讲(可访问性)期间打断?

所以,我有一个用 Java 编写的 Android 应用程序。我希望能够在辅助功能选项中为视障人士使用对讲。当用户在活动中滑动时,对讲“集中”在各种组件上,我希望能够知道这一点:

1)如何知道它是否“专注于”某个组件(例如,textview)?

2)当它“专注于”某个组件时,如何中断它以播放我自己的音频文件然后返回并让对讲再次接管?

先感谢您!

- - 编辑

只是为了更清楚一点,以防你不熟悉对讲......

一旦用户启用对讲功能,它就会读出电话屏幕上的所有内容。如果用户想要选择一个应用程序,用户将继续向右、向左、向上或向下滑动,直到该应用程序名称被突出显示/聚焦并由对讲通知。所以,我想知道何时突出显示特定的文本视图。

0 投票
1 回答
2097 浏览

android - Android - How to set an Accessibility Delegate on a Menu Item?

Is it possible in any way to set an Accessibility Delegate on a Menu Item? My app uses text-to-speech and I want to execute some custom code before TalkBack starts speaking the content description of my menu item (which happens when the menu item gets accessibility focus). Otherwise, the text-to-speech from my app will clash with TalkBack's text-to-speech.

Update: My app fetches a sentence from a WebView, highlights it and reads it using the TTS engine. When the sentence has been spoken, the onDone() callback starts the same method but for the next sentence.

Since TalkBack and my app are using the same TTS engine, only one utterance is allowed to be spoken at a time. So my app is reading its WebView sentence per sentence, but then the user focuses on a Menu Item and TalkBack will read its description. Because my speech utterance was interrupted, onDone() will be called (onDone() cannot distinguish whether the utterance was fully spoken or simply interrupted), so the speakNextSentence() will be called, even though my previous sentence might be interrupted after only two words. I'd like to somehow put the isPaused boolean to true before the accessibility event of the Menu Item is fired.

0 投票
2 回答
1048 浏览

android - 是否可以制作一个可以在 Android 中切换对讲的小部件?

我打算在一种公共设备上使用Android平台。而且我认为大多数人很难关闭 TalkBack。

在主屏幕中切换对讲的小部件按钮可以解决问题。

可以制作这个小部件吗?需要生根吗?

0 投票
2 回答
5012 浏览

android - RecyclerView 的对讲功能不好

我现在使用 RecyclerView 而不是 ListView 来构建一个旨在帮助盲人的 android 应用程序。

问题是当我启动对讲功能时,阅读器一个一个地阅读列表,我无法通过我的手势控制阅读器跳转到下一个或前一个项目。我能做的就是等待读者到达我需要的那个。我的测试手机是三星 S4。

根据我同事的经验,对讲功能与普通 ListView 上的手势配合效果很好。

现在我只是想知道它是 RecyclerView API 中的错误吗?还是设置或代码有问题?

无论如何,我会继续测试它。

0 投票
1 回答
796 浏览

android - 使用 TalkBack 宣布 QuickAction 窗口关闭

我的应用程序中有一个自定义 QuickAction 菜单。我为打开菜单的 ImageView 添加了contentDescription “打开菜单”。所以我的 TalkBack(形成辅助功能设置)宣布了相同的内容。
弹出菜单必须setOutsideTouchable(true)在外面触摸时将其关闭。当 TalkBack 开启时,用户必须双击以将其关闭,但 Android 不会宣布任何此类消息。理想情况下,它应该宣布“双击关闭...”。
我怎样才能做到这一点?

另外,我想宣布菜单何时关闭。我试过在里面发送 AccessibilityEvent:
QuickAction.setOnDismissListener(new myQuickAction.OnDismissListener() { @Override public void onDismiss() { // tried sending event here }

添加了参考图像以进行详细说明。单击按钮蓝色弹出窗口是 QuickAction 弹出窗口。现在我想在用户点击白色区域上的任意位置(黑点)时宣布“关闭菜单”。白色区域实际上是我的 LinearLayout 包含页眉、页脚等(图像中未显示)。我尝试为布局添加 contentDescription、importantForAccessibility 但无济于事。

参考图像