问题标签 [android-accessibility]

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 回答
304 浏览

android - RecyclerView 布局行为

我正在研究访问AccessibilityService其他应用程序布局。

例如,如果我有一个自定义布局,我会精确处理 XML 中每个视图的焦点,如下所示:

当我使用 a 时,我通过将一些or发送到系统中ListView来定义行为,目的是在布局中导航。KEYCODE_DPAD_UPKEYCODE_DPAD_DOWN

现在我需要使用 a RecyclerView,但我无法理解如何以正确的顺序访问视图的项目。

我所说的正确顺序是什么意思:

我所说的正确顺序是什么意思

有人可以告诉我布局顺序与 的方式RecyclerView吗?

0 投票
0 回答
179 浏览

android - 监听 Android 中的所有(设备范围的)触摸事件

我正在开发一个后台服务,该服务在用户触摸屏幕时运行以在设备范围内提供声音反馈。我尝试使用自定义视图创建一个覆盖以监听触摸并将它们传递到下面的视图,其方向与此问题中尝试的方向相似,但我的覆盖似乎正在消耗所有触摸事件,或者我false只返回检测到向下触摸。

我想知道是否有可能我可以采取的无障碍路线?基本上我需要一种方法来获取屏幕上任何当前触摸的信息(最好是多点触摸)我不需要改变触摸事件或任何东西,只需要信息。

0 投票
3 回答
1368 浏览

accessibility - 如何在 Android 设备中打开 TalkBack 时聚焦按钮(或其他小部件)?

我正在我的应用程序中实现可访问性。这是场景:

我有 4 个按钮水平排列在屏幕的最顶部(活动)。单击按钮后,我将启动一个警报对话框,该对话框向用户显示一些内容。显示警报后,我仍然可以在屏幕顶部的这 4 个按钮上执行单击操作。当我在 Android 设备中打开 TalkBack(Android 辅助功能服务)并单击该按钮时,会显示警报但我无法移动焦点(在 Android 手机中打开 TalkBack 功能时会出现一个黄色矩形框) 到这 4 个按钮。请帮忙!

0 投票
1 回答
914 浏览

android - AccessibilityService 在真实设备上不起作用

我按照以下文档创建了一个 AccessibilityService: https ://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

我认为没有必要在此处复制代码,因为我一步一步完成了所有操作,并且它在我尝试过的所有模拟器上都可以正常工作(在 19-25 个 API 之间),但它不适用于我的真实设备(API 25) . 在真实设备上永远不会调用 onServiceConnected 方法。这是我拥有的唯一真正的设备。我可以尝试什么?什么会导致这个问题?

编辑:现在我在不同的真实设备(Android 4.4)上尝试过,它也可以在上面运行。现在我真的很困惑。

0 投票
1 回答
308 浏览

android - ListView为空时如何处理焦点

语境

我正在开发一个必须完全可访问的应用程序,为此我需要指定布局的不同视图的焦点顺序。

我的布局看起来像这样(数字定义焦点顺序,3ListView常见的视图):

我的布局

XML的相关部分(考虑到我使用nextFocusDown而不是nextFocusForward故意满足我的需要):

当 ListView 充满项目时,这很有效,焦点按预期运行。1 ⇒ 2 ⇒ 3(逐项)⇒ 4 ⇒ 1 ... 以此类推。

问题

现在,当我ListView为空时,Android 焦点管理器似乎卡在第二个视图上。当焦点到达第2项时,焦点不会被给予ListView甚至更少的第 4 个视图。因为当我的列表不包含任何项目时,我希望焦点直接从2变为4

问题

我是否遗漏了什么或者我的代码中的其他东西会产生这种奇怪的行为?

0 投票
3 回答
2322 浏览

android - SeekBar 值的 Android TalkBack

所以我SeekBar在我的应用程序中有一个,我正在使用 Android 的 TalkBack 功能。滚动时SeekBar,设备会显示“(android:contentDescription of view), SeekBar control, 50%”。是否可以更改它以显示实际值(从 -4 到 +4),例如“SeekBar 控件,负 4”?

0 投票
2 回答
1660 浏览

android - Back compat for AccessibilityTraversalOrder

I'm trying to programmatically setAccessibilityTraversalOrder on a view in Android and it's working great for API level 22. I have a method, which I call to set the traversal order.

And then I set an AccessibilityDelegate like this.

I need to support minimum API version of 16 (JellyBean), thus this solution doesn't scale. So, I found out about AccessibilityNodeInfoCompat class. I tried to use that class like this in my helper method like this.

There are 2 problems with this solution: 1: It doesn't work because as soon as a user touches that view on the screen, the delegate gets called again and initializes that node again, so I lose the traversalAfter value I set here. 2: I'm also leaking a node here, which I'm not sure when to recycle.

Can anybody help me how I can hook Android backwards compatibility using NodeInfoCompat and AccessibilityDelegateCompat?

0 投票
1 回答
1852 浏览

android - 使子视图在Android中的父视图之前获得焦点

在这种情况下,我需要让我的子视图在父视图之前获得焦点。

此外,就“焦点”而言,我不能将父视图设置为 false,因为我希望它在子视图首先获得焦点后成为焦点。

有没有办法使用 XML 来实现?

0 投票
1 回答
130 浏览

android - Android中截断视图的可访问性

截断视图上的对讲行为应该是什么。在一个应用程序中,对讲是阅读整个消息以及查看更多按钮。功能就像当使用单击更多详细信息附加详细信息时,扩展和更多详细信息按钮变为较少详细信息,问题是当焦点转到截断消息时,对讲正在阅读整个消息,可能是一个段落到太多段落等等. 理想情况下,它应该只读取显示消息,但是功能的设计方式是整个文本都进入应用程序并通过 UI 隐藏。我的问题是 1 有没有办法只阅读已经显示的那部分文本,甚至提供了整个消息 2 如果不可能,上面的方法,谁'

0 投票
2 回答
4227 浏览

automation - 未通过 adb shell 启用对讲

我已经尝试了adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService从 adb shell 启用对讲的命令。它正在切换表示对讲状态的 ui 按钮,但实际上并没有启用对讲。我正在尝试以编程方式为 android 6.0 启用对讲。有没有其他彻底的方法可以启用它?