微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UIAutomation:混合 ProviderFragmentRoot 和 ProviderSimple

如何解决UIAutomation:混合 ProviderFragmentRoot 和 ProviderSimple

对于我的应用程序(VCL、Delphi),我正在使用 UIAutomation 实现屏幕阅读器支持。这适用于控件的 ProviderFragmentRoot 和逻辑元素(如组合框中的条目)的 ProviderSimple 的实现。

我想要达到的目标: 在一个面板上,我有各种控件,一个在下一个。它们由标题分隔。这些标题仅绘制在面板上,即它们不是控件并且没有 HWND。因此标题不会出现在 UIAutomation 树中。

我需要一些关于如何为面板实现 ProviderFragmentRoot 以便在 UIAutomation 树中包含标题提示(任何要阅读的文章或指导示例等)。

我目前拥有的是这样的:

  • 面板
    • 编辑 1:UIA_EditControlTypeId
    • 编辑 2:UIA_EditControlTypeId
    • 编辑 3:UIA_EditControlTypeId
    • 编辑 4:UIA_EditControlTypeId

我需要什么:

  • 面板
    • 标题 1:UIA_GroupControlTypeId
    • 编辑 1:UIA_EditControlTypeId
    • 编辑 2:UIA_EditControlTypeId
    • 标题 2:UIA_GroupControlTypeId
    • 编辑 3:UIA_EditControlTypeId
    • 编辑 4:UIA_EditControlTypeId

据我了解 UIAutomation 树是基于控件的父子关系构建的。我还管理了重新父控件,例如使弹出窗口成为相应编辑的子项。我只是在查找有关如何在树中混合控件和逻辑元素的信息时有点迷失。我在其他应用程序中看到过这样的结构,它使屏幕阅读器可以读出标题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。