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

objective-c - 可访问性 API:AXWebArea 子元素(或 HTML 源)

我需要使用 Cocoa Accessibility API 从第三方应用程序获取信息。第三方应用程序使用 WebView 来显示其用户界面(AXWebArea角色)。此 AXUIElement 没有子级。

此代码输出:

AXChildren为空,因此我无法访问AXWebAreaUI 元素内的 HTML 元素。我怎样才能访问它们?

0 投票
2 回答
237 浏览

cocoa - 窗口可调整大小 - kAXGrowAreaAttribute 始终返回 NULL

在我的应用程序中,我想检查其他应用程序的窗口是否可调整大小。

正如 Peter Hosey 在这个问题中回答的那样,我正在使用辅助功能 API 来测试窗口是否具有 kAXGrowAreaAttribute 属性(如果 NULL 不可调整大小)。

问题是 kAXGrowAreaAttribute 返回的值始终为 NULL,无论窗口是否可调整大小都无关紧要。注意:要检索值,我使用 Apple UIElementInspector示例中的 UIElementUtilities 类(我也尝试过直接使用 AXUIElementCopyAttributeValue 并获得相同的结果)。

任何想法?我在Lion工作,可能是这个问题吗?提前致谢。

编辑:

玩弄 UIElementUtilities 类方法,我找到了解决方案。

只需使用方法

+ (BOOL)canSetAttribute:(NSString *)attributeName ofUIElement:(AXUIElementRef)element

使用 kAXSizeAttribute 和焦点窗口。它返回 YES 或 NO 取决于窗口是否很大...

0 投票
1 回答
316 浏览

objective-c - Cocoa Accessibility API 消耗鼠标点击

我的一个 OS X 应用程序遇到了一个奇怪的问题。该应用程序使用 AXAPI 创建事件点击并监控键盘和鼠标事件。一些使用 OS 10.6-10.7 的用户报告说,当应用程序处于活动状态时,他们的鼠标无法正常工作 - 他们必须点击两次或更多次,否则系统根本看不到点击。

当这些用户关闭 AXAPI 后,问题就消失了。

奇怪的是,我从来没有在开发计算机上遇到过这个问题,测试人员也没有。然而,大约 10% 的报告用户经历过这种情况。

我在 HID 级别使用活动事件点击,我也处理鼠标事件,但我从不从回调返回 NULL。

这个问题几乎肯定在 AXAPI 中,但我不明白它到底在哪里。

0 投票
1 回答
1538 浏览

cocoa - 沙盒化后辅助功能 API 停止工作

我的 Mac 应用程序使用辅助功能 API 来移动(其他应用程序的)调整大小窗口。

我想将我的应用程序提交到 MAS(Mac App Store)。我已经读过,必须向 MAS 提交应用程序才能打开沙盒。

当我打开沙盒时,我的代码无法通过可访问性 API 找到焦点窗口(始终返回 NULL)。问题是:可访问性 API 不能与沙盒一起使用?

我注意到 Mac App Store 中有使用辅助功能 API 的应用程序,现在不是强制沙盒吗?

提前致谢。

0 投票
1 回答
241 浏览

c# - 如何确定鼠标是否指向光标下窗口的最大化按钮

即使此窗口不属于我的应用程序,如何确定鼠标是否指向(悬停在)窗口的最大化按钮。有API吗?

0 投票
1 回答
243 浏览

cocoa - 通过弹出窗口启用对辅助设备的访问

有没有办法通过直接在弹出窗口中的按钮要求在弹出窗口(类似 NSAlert)中启用对辅助设备的访问?

0 投票
3 回答
6544 浏览

android - 捕捉 toast 事件(从任何应用程序)并获取 toast 消息

据我了解,这是可能的,从这里 Detecting toast messages 但是我无法使用链接中的代码片段捕获任何事件。

MyAccessibilityService.java

AndroidManifest.xml

似乎此服务根本没有启动。我做错了什么?

我这样做的原因: 我正在从我的应用程序的股票启动器上安装许多快捷方式。我遇到的问题是这些快捷方式在一个单元格中一个接一个地放置(即使是 Sleep 500 也没有帮助)。所以我正在寻找一种方法来一个一个地安装它们。但是如何知道快捷方式何时成功安装?我只发现 ics 启动器向用户显示的消息。

0 投票
2 回答
29187 浏览

android - 无障碍服务未启动

我想在 android ics (4.0.3) 中记录所有 toasts 事件,但我无法记录任何系统事件。服务还没有开始!

根据这个问题: onAccessibilityEvent(AccessibilityEvent event) not intercepting notification

MyAccessibilityService.java

Toast2Activity.java

AndroidManifest.xml

我在清单中包含了活动标签(在应用程序启动时启动服务),并且还尝试删除。没有改变。服务只是没有启动。我没有在日志猫(onServiceConected 中的 Log.v)中收到通知。

我将其编译为普通应用程序(不是系统应用程序),android 4.0.3。难道我做错了什么?

附加项目(可能是错在别处,或者我编译错了): https ://dl.dropbox.com/u/1928109/toast2.zip

0 投票
1 回答
404 浏览

macos - 以编程方式启用对辅助设备的访问

我想以编程方式启用对辅助设备的访问。

有另一种不使用的方法来做到这一点

打开系统偏好设置?

0 投票
1 回答
114 浏览

java - 从 .Net 应用程序通过 JNBridge 访问 JTextField 控件

使用 JNBridge 是否可以从 .Net 应用程序更新 JTextField 的文本属性?

.Net 应用程序 -> JNBridge -> JTextField.setText("Something");

似乎有可能,但我还没有找到任何可靠的实现。

Java 应用程序是否还必须显式地实现 Java Accessibility API,或者这是您通过所有 Swing 控件免费获得的东西?

我正在寻找一个可靠的“是的,这是可能的......我已经做到了......这就是你开始的地方。” 或“这是一个很好的参考链接”。

如果我的问题含糊不清,那是因为我是一个几乎没有 Java 经验的 .Net 人。我很乐意详细说明...

谢谢。