Closed LeonarddeR closed 5 years ago
This sounds really nice to have. :)
See also this article about what standard controls are supported by UI Automation.
syslistview32 has support for grouped items. Does anyone know a case in the wild where this support can be tested?
in every MS Office application. Especially in MS Access.
or in MS Powerpoint where you can group elements on a slide.
Syslistview32 with UIA supports Datagrit and Lists. It could contribute to solve #7950
SysTabcontrol32 could solve #7758
I have a working prototype in https://github.com/babbagecom/nvda/tree/slvUIA
cc @josephsl
@Adriani90 commented on 28 jun. 2018 22:04 CEST:
in every MS Office application. Especially in MS Access.
Are you sure this is not UIA?
@Adriani90 commented on 28 jun. 2018 22:19 CEST:
SysTabcontrol32 could solve #7758
I'm afraid not, as there's another control used there.
I've noticed major performance hickups when using UIA syslistview32 in the services management console. Unless this is something that can be tracked down, I guess we'll at least stick to MSAA by default.
MS Access is definitely IAccessible, have checked in the python console.
Hi,
Six months later...
For anyone wishing to test this, please try with Windows 10 Version 1809, or if not, try Version 1803 with NVDA 2018.4 or later (or latest alpha, if you want). I deal with SysListView32 objects in one of my add-ons and will do some "good UIA window" testing to see if it helps somewhat.
Thanks.
Hi,
Test performed with Leonard's branch merged with master (fixing conflict in Outlook app module). I used Task Manager and Services.msc on Windows 10 Version 1809 (build 17763).
Result: I can confirm Leonard's observation: still noticing performance issues with UIA implementation. This is most noticeable in Task Manager where there is a huge delay when navigating entries in Details tab.
Thanks.
I think the overall conclusion of this issue is that UIA for SysListView32 is pretty slow. Closing for now, we can always reopen if desired.
The current syslistview32 implementation of NVDA relies on a whole bunch of custom code which seems to cause issues in some situations. See for example:
8268: sysListView32.ListItem._getColumnLocationRaw can return malformed rectangles (i.e. with a left coordinate that is greather than the right coordinate)
8175: No item names for some listview items in 64 bit applications
it turns out that at least under Windows 10, every syslistview32 list item exposes the several columns as children of list items when using UIA, along with proper mappings to their column headers. Using UIA would at least fix #8268 and might be a more solid fix for #8175 than #8190 provides.