Display text for an object's label defers from what is being reported via accessibility APIs


Dickson Tan
 

Hi,


I'm currently trying to file a bug report for a program called Image for Windows. It is almost fully accessible, except that the state of check boxes (checked / unchecked) can't be read by NVDA.


The program has an option to enable accessible check boxes. Once done, an x is printed out before the label of each checkbox to indicate that it is checked.


For an item that is selected, I noticed that NVDA is still not reading the checkbox properly (e.g, visually it displays "x simple operations" while NVDA reads "simple operations"). From the nvda+f1 output below, you can see that the display text does contain the checked symbol.


How does NVDA get display text? I'd like to ask the developer to fix it on their end ideally, and want to give them a more technical pointer to exactly what they need to change to fix this.


name: 'Unchecked Simp&le Operations'
role: ROLE_LISTITEM
roleText: None
states: STATE_FOCUSABLE, STATE_SELECTABLE, STATE_FOCUSED, STATE_SELECTED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x04164EF0>
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: RectLTWH(left=500, top=302, width=214, height=16)
value: None
appModule: <'appModuleHandler' (appName 'imagew64', process ID 15656) at address 76c0250>
appModule.productName: 'Image for Windows'
appModule.productVersion: '3.41'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 330802
windowClassName: 'ListBox'
windowControlID: 1172
windowStyle: 1344340305
extendedWindowStyle: 131076
windowThreadID: 19344
windowText: ''
displayText: 'Checked   Simple Operations'
IAccessibleObject: <POINTER(IAccessible) ptr=0x9af4b50 at 590e4e0>
IAccessibleChildID: 1
IAccessible event parameters: windowHandle=330802, objectID=-4, childID=1
IAccessible accName: 'Unchecked Simp&le Operations'
IAccessible accRole: ROLE_SYSTEM_LISTITEM
IAccessible accState: STATE_SYSTEM_SELECTED, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_SELECTABLE, STATE_SYSTEM_VALID (3145734)
IAccessible accDescription: None
IAccessible accValue: None

Cheers,

Dickson