问题标签 [accessibility-api]

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

cordova - Accessibility API/Component does not read the contents in Hybrid Mobile Application

Hybrid Mobile Application built using Cordova, BackBoneJS and JQuery mobile does not respond to Accessibility touch events.

In Accessibility mode "ON", the expectation is, the Application needs to read the contents/text in single tap and the assigned action needs to be performed on double tap. But the Hybrid Application neither reads the text nor waits for the double click. The application works as it is in normal mode.

Is there any support library available or any add-ons needs to be added ?

0 投票
1 回答
2694 浏览

android - 谷歌对讲 API 在 android 中获取当前焦点项目

我的应用程序支持辅助功能,并且应用程序同时具有纵向和横向模式。

在我的屏幕上,我有一些视图,如按钮、文本视图、带有自定义行的列表视图。

我面临的问题是当用户在纵向模式下聚焦任何项目并旋转屏幕时,应用程序不会在横向模式下聚焦相同的元素。有人可以建议如何将焦点设置为在纵向模式下选择的项目到横向模式?

我什至对本机设置应用程序-wifi 页面和“ES 文件浏览”等现有应用程序进行了一些研究,在这些应用程序中,当用户将方向更改为横向模式时,也无法保持可访问性。系统正在从横向选择一些随机元素到纵向,反之亦然。

下面是代码片段

可访问性_sample.xml

sample_list_row.xml

可访问性SampleActivity.java

公共类 AccessibilitySampleActivity 扩展 Activity {

}

对于像 TextView、Button、Checkbox 这样的普通视图,它能够在用户旋转屏幕时保持状态。

如果用户选择下面的列表视图是我面临的问题

  • 如果在纵向和旋转屏幕中选择了任何视图,则焦点不会保持在横向。有时如果所选视图能够在不滚动的情况下显示(例如,如果用户选择印度并旋转印度将在不滚动的情况下可见),它会保持状态
  • 当用户将屏幕从纵向旋转到横向时,应用滚动并选择任何视图(如日本)并将方向从横向更改为纵向模式,然后我们可以看到它总是选择第一行复选框,即 india 复选框
0 投票
1 回答
570 浏览

objective-c - 如何获取与 AXUIElement 对应的 Objective-C 类名?

Apple 的 Accessibility Inspector 工具显示与当前检查的 UI 元素对应的 Objective-C 类。请参阅NSButtonCell此屏幕截图的最底部:

辅助功能检查器屏幕截图

但是,如何在自己的代码中提取这些信息?Apple 七年前的UIElementInspector示例代码中的可访问性方法没有显示元素的类名。

对 Accessibility Inspector 进行逆向工程暗示可以通过AXClassName属性获得 Objective-C 类名,但该属性对我来说始终为零。

0 投票
0 回答
332 浏览

java - 使用 Java 启用 OS X 可访问性 API?

是否可以为使用 JavaFX 开发的软件启用辅助功能 API?

Obs:我想记录键盘输入文本。

0 投票
0 回答
168 浏览

macos - 我在哪里可以找到 NSAccessibility 协议的文档

该协议的客户端文档位于https://developer.apple.com/documentation/appkit/nsaccessibility#relationships(更准确地说,是必须实现的 Swift API),但我似乎找不到任何关于如何人们将与实现此协议的客户端进行交互。

我错过了什么吗?(显然我是)。我在哪里可以找到有关屏幕阅读器如何获取客户公开信息的文档。

0 投票
0 回答
290 浏览

swift - NSAccessibilityNotificationName.mainWindowChanged 观察者在主窗口改变时得到通知

我希望在最前面的应用程序的主窗口发生更改时收到通知,即更改浏览器中的选项卡、更改 SublimeText 中的文档等,并获取当前主窗口的标题。我对 Swift 很陌生,所以我很感激任何信息/帮助。

我编写了一段代码,通过在 didActivateAppNotification 对象上使用 addobserver 来观察最前面的应用程序。每次更改为新应用程序时,它都会成功打印出最前面的应用程序。

所以我也想对最前面的应用程序的主窗口做同样的事情。但是,我所能做的就是通过此处解释的 CGWindowListOption 获取最前面的应用程序的窗口列表然后滚动它以获取最前面的应用程序的窗口列表并对其进行过滤以获取主窗口。但我不想要一个轮询解决方案,即每秒获取此列表。相反,我想使用通知观察者,以便我可以实际询问主窗口何时更改。-我也尝试了一些 Applescript 解决方案,它们都需要轮询解决方案。

我找不到任何教程和 NSAccessibilityNotificationName 类的示例,因为它说它们需要在Apple Dev Forums中进行特殊处理。我如何观察外部应用程序的这些通知?(在我的示例中特别是 mainWindowChanged)

干杯,快乐的编码!

0 投票
0 回答
548 浏览

ios - 如何在 iOS 11.0 之前的版本中忽略反转颜色的 iOS 辅助功能设置?

在 iOS 的辅助功能设置中,可以反转颜色。然而,在图像和视频上反转颜色并不总是可取的。

iOS 11 引入了一个名为的属性accessibilityIgnoresInvertColors,可以在UIViews 上设置该属性以忽略系统指令以反转其颜色 ( https://developer.apple.com/documentation/uikit/uiview/2865843-accessibilityignoresinvertcolors )。

是否可以在使用比 iOS 11.0 更早的 iOS 版本的应用程序上忽略反转颜色?

0 投票
1 回答
2287 浏览

c# - 如何选择加入可访问性改进?

我有一个使用属性网格的 C# 应用程序。当我编辑 ContentAlignment 属性时,我收到以下错误消息:

桌面应用程序需要选择加入所有早期的可访问性改进才能获得以后的改进。为此,请确保如果 AppContext 开关“Switch.UseLegacyAccessibilityFeatures.N”设置为“false”,则当 M < N 时,“Switch.UseLegacyAccessibilityFeatures”和所有“Switch.UseLegacyAccessibilityFeatures.M”开关评估为 false出色地。请注意,如果不存在针对特定可访问性改进集的开关,则其值由目标框架版本确定。您可以通过添加这些开关并将其值设置为 false 来解决此问题。

这可能与将框架更新到 4.6.1 有关。

我只在第一次编辑属性时看到此错误。

如何选择加入可访问性改进以不看到此错误?

0 投票
0 回答
303 浏览

android - 如果没有 Handler().postDelayed,announceForAccessibility 不起作用

我有一个EditText供用户输入电子邮件和一个TextView显示错误,但默认是隐藏的,最后是屏幕上的一个提交按钮。TextInputLayout由于设计要求,我们无法显示错误消息。

当用户点击提交按钮时,textview.announceForAccessibility("hello");如果电子邮件无效,我们会调用。如果绿色矩形停留在提交按钮上,则此方法有效,但并不总是这样。如果绿色 rect 亮EditText,则对讲仅描述EditText并完全忽略错误消息。但是,如果我给它添加第二个延迟,它就会起作用。new Handler().postDelayed(() -> textview.announceForAccessibility("hello"), 1000);

我真的不明白为什么以及如何正确解决这个问题。

0 投票
1 回答
1212 浏览

java - 如何从 AccessibilityNodeInfo 中的所有子节点获取文本

我正在尝试从 AccessiblityNodeInfo 的所有子节点中读取文本。

我试着得到AccessiblityNodeInfo.getParent()AccessibilityNodeInfo.getChildCount()

如上所述访问子节点以从子节点获取文本。但它没有提供屏幕上的所有文本。

谁能建议我该怎么做才能得到文本?