问题标签 [android-a11y]

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 投票
0 回答
1537 浏览

android - 如何使用无障碍服务处理双击?

使用无障碍服务,双击激活无障碍服务关注的最后一个元素。

我只想用我的无障碍服务来处理这个事件,但没有监听器/事件。我只收到两个“TYPE_TOUCH_INTERACTION_END”类型的可访问性事件。

我在 Android 中找到了一个带有 DoubleTapDetector 的类,但无法从 Android API 访问它: TouchExplorer.java(请参阅内部类 DoubleTapDetector)

0 投票
2 回答
6104 浏览

android - 无障碍服务可以停止或终止吗?

我已经编写了一个可访问性服务,并且我希望该服务在收到可访问性事件(即在方法中onAccessibilityEvent)后停止/终止。这可以做到吗?我尝试使用下面的 kill 进程杀死,但它不起作用。

我在 AndroidManifest.xml 中授予了以下权限

我知道无法以编程方式启动可访问性服务,但也不能停止/杀死它吗?

0 投票
1 回答
1122 浏览

android - 无障碍服务安卓

我正在使用可访问性服务,如果我从正在运行的应用程序中终止应用程序,系统将取消用户明确授予的可访问性权限,这导致我再次请求权限。任何解释为什么会发生这种情况以及避免此问题的一些解决方案。

0 投票
2 回答
23904 浏览

android - 修改辅助功能焦点顺序

是否可以更改可访问性焦点顺序?例如,如果我并排有 3 个视图,ID 分别为 view1、view2 和 view3,当用户从 view1 向右滑动时,是否有一种简单的方法可以使可访问性焦点转到 view3?

这是我尝试过的:

我在线性布局中有以下内容。

然后,我启动它并将可访问性焦点放在第一个 imageView 上。在向右滑动移动到下一个项目时,我希望它将可访问性焦点移动到 imageView3,但它会转到 imageView2。

0 投票
1 回答
2574 浏览

android - 测试应用程序的可访问性(对讲)

我正在使我的应用程序可访问性兼容。为此,通过在 xml 中提供 android:contentDescription="your string" 为可访问性框架提供正确的数据。

此外,我还查看了有关使应用程序可访问的 Android 开发人员指南,以概述您需要采取哪些步骤来确保您的应用程序与可访问性服务一起正常工作。

现在的问题是在每个屏幕上测试这些都需要更多时间。我的应用程序有 30 个屏幕,每次进入任何模块都需要将近 15-20 分钟的时间。

任何人都可以建议测试应用程序的工具/更好的方法吗?

0 投票
1 回答
531 浏览

android - Android 辅助功能:切换访问视图元素扫描顺序

我正在 android 中设计一个可访问性应用程序,它将使用蓝牙开关进行访问。蓝牙开关将有两个按钮:

“下一步”浏览视图元素和 “输入”单击视图元素。

我现在面临的问题是,我希望从某个视图开始关注视图元素,然后将焦点顺序指定到其他视图元素和其他元素(如键盘行等)我知道在布局 xml 中,我们可以用“nextFocusForward”指定下一个焦点,但这对我的情况没有帮助。

我想要的是指定我的哪些视图元素首先获得扫描焦点,然后是下一个,依此类推。我也许可以设置下一个焦点,但是如何设置第一个焦点?另外,如何在 ActionBar 中设置焦点顺序。

我理想的排序将是(在以下示例屏幕上):EditText -> 键盘/键盘行/按钮行(和按钮)/可操作元素。)

在此处输入图像描述

你能帮我解决这个问题吗?提前致谢!

0 投票
0 回答
76 浏览

android - 资源字符串数组的各个项目的内容描述

我有一个微调器,其中填充了来自资源的以下字符串数组。

现在,如果选择的项目是kg/hectare,TalkBack 将其发音为“kug slash hectare”,这没有任何意义。我怎样才能让它在显示的同时发音为“千克每公顷kg/hectare

0 投票
1 回答
222 浏览

android - React-Native:如何检测辅助技术和用户偏好

我们需要检测一个人是否正在使用 VoiceOver、Switch Control、TalkBack 或 Switch Access 来在我们的滑动相关应用程序上显示备用按钮。通常我们会寻找UIAccessibilityIsVoiceOverRunningAccessibilityManager和其他钩子来检测是否需要显示这些按钮。

我们也尊重用户对粗体字体和简化动画的偏好,例如UIAccessibilityIsBoldTextEnabled().

我在 React 中找不到详细说明我们如何从设备获取此类信息并编写更改应用程序界面的逻辑的文档。

0 投票
2 回答
4102 浏览

android - AccessibilityService 不返回视图 ID

我正在 Android 中编写一个无障碍服务,它依赖于获取当前所选视图的视图 ID,但是在某些设备(Nexus 6P 6.0.1、三星 Galaxy S6 edge+ 5 + 6.0.1)上我没有通过和在其他人(HTC One M8 5.0.1)上它通过了罚款。因为它在某些设备上运行良好,所以我确信我的代码没有问题,但是我在下面发布了一个最小的测试用例。

谁能帮助我在所有设备上获取我的服务报告 ID?

A11y 服务

AndroidManifest.xml

服务配置.xml

0 投票
5 回答
27375 浏览

android - 如何为双击和长按更改 Android 对讲指令

我有一个长按动作处理程序的视图。我使用内容描述来设置当视图获得焦点时 Talkback 会说话的消息。

目前,它在获得焦点后立即显示我的内容描述,并在短暂的停顿后显示:

双击激活,双击并按住长按

我想将此消息更改为类似

双击“动作 1”,双击并按住“动作 2”

有没有办法这样做?

我查看了onPopulateAccessibilityEvent(),它得到了TYPE_VIEW_ACCESSIBILITY_FOCUSED事件,但我无法更改所需的消息。

我错过了一些简单的东西吗?