如何使用TVirtualStringTree AccessibleName或实现辅助功能?

时间:2018-02-11 00:54:24

标签: delphi accessibility c++builder virtualtreeview

我可以看到TVirtualStringTree有一个名为AccessibleName的属性,我看不到它有效,也就是说,给出设置为屏幕阅读器的字符串,如NVDA。

我尝试在OnGetText事件中进行设置,但似乎没有产生任何结果(例如Sender->AccessibleName = "my node name";)。它读取的全部内容都是树的全部内容,而不仅仅是当前节点,就像我没有对属性进行任何更改一样,如果更改节点(使用键盘),则它不会执行任何操作。

应该阅读的内容是 - 列名称 - 列内容 - 其他列名称 - 其他列内容等与常规TListView一样。

这里似乎有iAccessible接口的实现 - https://github.com/Virtual-TreeView/Virtual-TreeView/blob/master/Source/VTAccessibility.pas

您能否分享一些示例如何使用VirtualTreeView内置的辅助功能来使组件对屏幕阅读器可读,因为这些示例似乎真的很少?

1 个答案:

答案 0 :(得分:0)

您需要将VirtualTrees.Accessibility单位添加到uses部分(项目或您的单位之一)。该单元注册了可访问性提供程序,它将仅读取树中的重点项目以及列名。