Does any Clarion version add UIA/MSAA support for LIST/DROP controls?

We are working on accessibility compliance (WCAG/Section 508) for a Clarion 11.0 app (Clarion Template chain) we sell to government clients. Our LIST and DROP controls show up in Inspect.exe as a blank “pane” (UIA_PaneControlTypeId, no name) — the native class is ClaDrop_09560000H, which isn’t a standard Windows control class, so screen readers like NVDA read nothing when they hit it.

Has anyone run into this and found a fix? Specifically:

  • Does a newer Clarion version/patch add native UIA or MSAA support for these controls?
  • Has anyone built a custom accessibility wrapper (WM_GETOBJECT / IAccessible) for ClaList/ClaDrop windows they could point me to?

We have ~500 of these controls across the app, so a runtime-level or template-level fix would save us a lot of pain. Any pointers appreciated.

Inspect.exe is showing a dropdown as two window controls.

Other window/control inspector type have pickers so the drop down part is never seen.

I also found the .net WPF framework iirc (one of the .net frameworks at least) also hid all controls and their text using spy/inspector tools so it wasnt possible to extract data from apps.

Best example of this behaviour is using a spy/inspector tool on the new windows settings (gear icon) (old control panel) for win10+.

ControlSpy2 shows you how the standard win32 api controls work with different styles.

The Clarion dropdown list isnt a std win32 api ComboBox or ComboBoxEx control so you’ll need to do a bit more digging to get the data out of the control.

Have you tried a clarion combobox in Inspect.exe to see if it works the same way as a clarion drop down list ie two parts no text to extract or like a std win32 api combobox control?

Hi

So firstly, all versions of clarion have the same owner drawn controls.

I set Claude to work on this issue to judge how well it could work with a complex problem. I haven’t got Claude to write the template wrappers around this, but the following solution and code works in narrator for a LIST control, I presume it would be easy to convert to others.

NaratorTest.zip (7.7 KB)

You may need to unblock the zip after downloading.

Feel free to use the code as you please (No support provided :smiley: ). Shout if you are having any issues compiling.

Mark

UPDATE: I have created a repository for this so others can have a look at the code easily rather than downloading the zip: clarion-accessible-list