NVDA and window classes
Steve Nutt
Well actually, there is more than one screen reader that does it. Window-Eyes did it, as does JAWS.
I couldn’t have a primary screen reader any more that doesn’t allow control reclassification.
All the best
From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Joseph Lee
Sent: 10 December 2022 01:03 To: nvda@nvda.groups.io Subject: Re: [nvda] NVDA and window classes
Hi, I exactly know the screen reader and the feature you are talking about. Short of contacting the app developer, can you: 1. Move focus to the control in question, press NVDA+F1, and copy and paste developer info here or to me privately? Tat way we can figure out what's going on (don't copy the entire log, just developer info will do). 2. Try with Narrator and see if it behaves the same as NVDA. If yes, this might be something to tell the app vendor. 3. See if an add-on for this program is available. Cheers, Joseph |
|
On Sat, Dec 10, 2022 at 01:38 AM, Joseph Lee wrote:
Let's talk about technical side of all this on NVDA add-ons list so we won't clutter this list.- Thank you. In case Stephen does not have this information . . . NVDA Add-On Developers Group, AKA NVDA Add-Ons Central This group is focused on the development of NVDA Add-Ons. It is not an end-user support group.
Brian - Virginia, USA - Windows 10 Pro, 64-Bit, Version 22H2, Build 19045; Office 2016, Version 16.0.15726.20188, 32-bit "Be Yourself" is the worst advice you can give to some people. ~ Tom Masson |
|
Hi, This is a 32-bit Visual Basic 6 application. It might be possible to obtain screen text through screen scraping (display model) or via Autoit (Google searches provide a solution for it). As Visual Basic is end of life from Microsoft, I'm afraid that we can't really do anything regarding accessibility unless the app vendor is willing to invest in moving to a newer technology that provides much improved accessibility support for assistive technologies (Windows Presentation Foundation, for example). I don't think Narrator (on Windows 11) can work with this app properly. It uses a technology that is not really up to date in terms of accessibility support. Specifically, it tells screen readers that controls are powered by Microsoft Active Accessibility (MSAA), something Narrator doesn't "speak" (interact with) fluently (Narrator is optimized to work with UI Automation). As for an add-on for Portable Update: whoever is going to write an add-on (provided that you did reach out to ap vendor first) may need to learn how NVDA's display model works. Window class reassignment (in NVDA world, overlay classes) may work if NVDA does include a display model way of interacting with list views, and if not, a different approach must be used. Let's talk about technical side of all this on NVDA add-ons list so we won't clutter this list. Cheers, Joseph |
|
Stephen
I doubt if an addon is available for it. It's a app called portable update
you can get it from www.portableupdate.com.
Here's the developer info
Developer info for navigator object: name: None role: Role.UNKNOWN processID: 2864 roleText: None states: isFocusable: False hasFocus: False Python object: <NVDAObjects.IAccessible.IAccessible object at 0x035A0CB0> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <class 'garbageHandler.TrackedObject'>, <class 'object'>) description: None location: None value: None TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'> appModule: <'appModuleHandler' (appName 'portup', process ID 2864) at address 3b616d0> appModule.productName: 'Portable Update\x004\x14\x01FileVersion\x00' appModule.productVersion: '2.05.0002\x000\x0e\x01Intern' appModule.helperLocalBindingHandle: c_long(98744688) windowHandle: 328482 windowClassName: 'ListView20WndClass' windowControlID: 0 windowStyle: 1443892045 extendedWindowStyle: 0 windowThreadID: 2856 windowText: '' displayText: exception: cannot unpack non-iterable NoneType object IAccessibleObject: <POINTER(IAccessible) ptr=0x5e95a60 at 7613cb0> IAccessibleChildID: 19 IAccessible event parameters: windowHandle=328482, objectID=-4, childID=19 IAccessible accName: exception: (-2147024809, 'The parameter is incorrect.', (None, None, None, 0, None)) IAccessible accRole: exception: (-2147024809, 'The parameter is incorrect.', (None, None, None, 0, None)) IAccessible accState: exception: (-2147024809, 'The parameter is incorrect.', (None, None, None, 0, None)) IAccessible accDescription: exception: (-2147024809, 'The parameter is incorrect.', (None, None, None, 0, None)) IAccessible accValue: exception: (-2147024809, 'The parameter is incorrect.', (None, None, None, 0, None))
|
|
Hi, I exactly know the screen reader and the feature you are talking about. Short of contacting the app developer, can you: 1. Move focus to the control in question, press NVDA+F1, and copy and paste developer info here or to me privately? Tat way we can figure out what's going on (don't copy the entire log, just developer info will do). 2. Try with Narrator and see if it behaves the same as NVDA. If yes, this might be something to tell the app vendor. 3. See if an add-on for this program is available. Cheers, Joseph |
|
Stephen
Hi.
Some screen readers, I won't say which ones, allow you to assign window classes so that any button, checkbox, combo box ETC, will read properly.
I have an application that uses some kind of listview class, and NVDA doesn't recognise it as a propper listview. Is there a way I can assign a window class to a control, with an addon perhaps?
I am using NVDA version 2022.3.2.
Thanks. |
|