问题标签 [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 投票
8 回答
22316 浏览

android - 如何知道 Android TalkBack 是否处于活动状态?

我正在开发一个使用 TalkBack 来引导人们完成它的应用程序。但是,在这些情况下,我希望在应用程序的布局中有一些细微的差异,以便导航更容易,并且还有额外的语音输出(使用 TextToSpeech)来帮助引导用户。

我的问题是,如果用户激活了 TalkBack,我只想要这些更改和额外的输出。

有没有办法知道是不是?我没有找到任何特定于直接访问 TalkBack 设置的内容,但我希望有某种形式的访问通用电话设置可以让我知道我需要什么。

提前致以问候和感谢。

0 投票
2 回答
613 浏览

android - 为多文件测试套件正确启用 AccessibilityChecks

我正在尝试以正确的方式设置 Android Espresso 的AccessibilityChecks. 文档建议我只是调用AccessibilityChecks.enable()一个@Before设置方法。问题是,如果您在该类中有多个测试,则第二次测试运行将引发AccessibilityChecks已启用的异常警告。@BeforeClass您可以通过在静态设置方法中调用它来解决此问题。但是,如果您有另一个应该AccessbililtyChecks启用的测试,您将收到相同的错误。AccessibilityChecks.enable()据我所知,创建一个无法禁用或删除的全局视图断言。

我目前的解决方法是让 Espresso 测试在所有其他测试之前运行(AAA_AccessibilityTest.java),并且我不在其他任何地方启用它。

这样做的问题是,如果我专注于特定的测试集,可访问性检查将不会运行,因为不包括该测试。

也许来自 Android 的人可以在这里进行权衡,但我无法在 Github 或其他地方找到任何工作示例,表明它被用于非平凡的测试套件。

的意图很棒,但是在我们之后AccessibilityChecks.enable()没有办法让他们实现似乎完全被破坏了。我错过了什么吗?我怎样才能以可靠和理智的方式使用它?disable()enable()

0 投票
0 回答
295 浏览

javascript - 使用可访问性服务注入 JavaScript 增强 Web 可访问性

我想在文本字段焦点事件或浏览器页面单击事件上将 js 脚本注入移动浏览器的网页,使用 android 增强的 Web 可访问性权限。可以使用 android 应用程序:“LastPass” URL:https ://play.google.com/store/apps/details?id=com.lastpass.lpandroid&hl=en

我在 android 开发者网站上找到了权限详细信息,但没有找到任何代码示例。

0 投票
0 回答
76 浏览

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

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

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

0 投票
2 回答
3113 浏览

android - 无法在 Android 中发送可访问性事件

我正在尝试在显示小吃店后立即发送可访问性。但是什么都没有播放。这是我在 onStart() 生命周期方法中的代码:

0 投票
1 回答
1488 浏览

android - Android listview 标头可访问性问题

当使用具有可访问性(谷歌对讲)的 android listview 标头时,会读取标头的全部内容。所以想象我有一个这样的标题视图:

每当我单击标题中的任何内容时,都会宣布所有 textview 标题。所以在这种情况下,如果我单击文本 3,系统会提示“文本 1,文本 2,文本 3”。这是自动的。我如何让它不宣布所有的事情只是用户点击的项目?

这是我的列表视图代码,它只是标准的东西:

0 投票
0 回答
687 浏览

android - Android Dialogbox Accessibility 是从上到下读取文本,忽略视图的contentDescription

我有一个带有自定义视图的警报对话框。我在 JAVA 中为自定义视图中存在的一些 TextView 设置 contentDescription。

其中一项内容是编号 239483。

我正在设置 contentDescription,将上面的数字转换为英文数字。

现在,第一次显示对话框时。它从上到下阅读。

上面的数字读作二十万等……

当我后来特别关注的时候,它读为二三九……它读了我的内容描述。

现在,当它决定从上到下阅读时,我如何定义它阅读 contentDescription。

这是我设置自定义对话框视图的代码:

我也试过这个:

但是,它没有影响。您能否定义我如何告诉对话框从上到下读取 contentDescription,而不是读取显示给用户的对话框文本。

0 投票
0 回答
454 浏览

android - 企业控制 Android 无障碍服务“选择加入”

我们正在开发一种通过 AirWatch(EMM/MDM)工作的企业无障碍服务,并发现我们可以使用 MDM 控制大多数 Android 设置,但是我们似乎无法找到一种方法让企业将我们的应用程序自动注册到接收辅助功能事件 - 这需要用户通过打开辅助功能系统设置并通过选中复选框手动注册应用程序来手动选择加入。

该设备归企业所有,而不是用户所有。我们的理解是,这正是 MDM 的全部内容(将设备的所有权/控制权从用户转移到企业),因此,有没有办法以编程方式或集中自动注册我们的应用程序,以便它可以在不依赖用户的情况下接收辅助功能事件?我们的应用程序将被侧载到数以万计的设备上,其中一些设备的设置菜单受到限制,因此手动注册并不是一个真正的选择。

选择接收可访问性事件示例

如果没有办法,这仅仅是因为Android还没有添加这个能力吗?可以通过 Knox SDK 完成吗?有没有其他方法可以实现这一目标?

0 投票
1 回答
492 浏览

android - Android 无障碍服务

谁能解释我假设我的应用程序定义了一个辅助功能服务。当应用程序获得可访问性权限时,它开始运行。假设由于某种原因内存问题服务被停止。如何让服务重新启动找不到任何方法。请帮忙。

非常感谢。

嗨 Oblivion,直到今天我才刚开始提问,我以前只是指 Stack Overflow :-)。对不起,我会确保我会提供完整的描述。现在我的问题。

我正在考虑两种方法

  1. 作为粘性服务启动
  2. 在不同的进程中运行服务

第一种方法->假设应用程序崩溃并且由于它很粘,它重新启动,并且由于先前崩溃的一些错误,它再次崩溃并出现一些异常,之后Android将无法启动服务Posible Soln->使服务逻辑尽可能多尽可能无错误

第二种方法-> 在http://mindtherobot.com/blog/37/android-architecture-tutorial-developing-an-app-with-a-background-service-using-ipc/的不同进程中运行服务 并制作确保您采用第一种方法提到的所有解决方案。

我所做的所有这些事情都在解决我的问题。

我最初的问题是假设我已经将一个客户端绑定到了 Accesibility 服务,并且我知道我的 Accesibility 服务没有运行,有没有办法可以触发一个意图并告诉 Android 启动我的 AccesibilityService。我需要这样做,因为我想控制我的辅助功能而不是 Android 的生命周期。

0 投票
1 回答
1596 浏览

android - 当 TTS 语言与系统语言不同时激活 Accessibility-Service

我正在为使用辅助功能服务 的Pre-kitKat设备开发应用程序。
此应用程序不以任何方式使用TTS(文本到语音)服务,但每当我尝试激活辅助功能服务时,我都会收到以下对话,要求我执行一些额外的步骤。如果我取消此对话,则我的服务不会激活。

TTS警告

这是否可以禁用此对话或在没有此对话的情况下激活我的应用程序。