【问题标题】:Accessibility API - Setting keyboard focus to a specific element辅助功能 API - 将键盘焦点设置到特定元素
【发布时间】:2010-01-22 10:21:53
【问题描述】:

使用可访问性 API,我正在深入研究一系列元素并找到我感兴趣的特定 AXUIElementRef(全部在外部应用程序中)。如何检查此元素当前是否具有键盘焦点?如果没有,我该如何设置?

类似于使用 AXUIElementSetAttributeValue 将 kAXMainAttribute 设置为 true(这适用于窗口 - 感谢 Peter!)。

PS - 我尝试了 kAXFocusedAttribute,似乎没有完成这项工作。也许它是只读的?

【问题讨论】:

    标签: cocoa accessibility macos-carbon core-foundation


    【解决方案1】:

    PS - 我尝试了 kAXFocusedAttribute,似乎没有完成这项工作。也许它是只读的?

    恰恰相反。阅读标题:

    可写?是的,对于任何可聚焦的元素。在所有其他情况下都没有。

    确保您已激活应用程序(通过将其 kAXFrontmostAttribute 设置为 true)并设置窗口键(通过将其 kAXFocusedAttribute 设置为 true),然后再控制窗口焦点(通过设置 kAXFocusedAttribute 为真)。

    【讨论】:

    • 我从 set 方法返回错误代码 - 25205。不知道在哪里可以找到这可能是什么 - 我什至不知道我现在使用的是什么语言......大概如果存在元素层次结构,我需要关注每个元素依次向下我想要一个?或者一旦我在应用程序和窗口中,就足够了吗?
    • 错误在 AXError.h 中命名。而且您正在使用 C(可能在 Objective-C 中)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    相关资源
    最近更新 更多