As an introduction, my intention is to raise awareness of the ongoing efforts to make RadioBoss accessible to screen reading software used by blind engineers and broadcasters. I aim to contribute by proposing an idea that could expedite this process and make it easier. Currently, the main barrier is that only some controls in RadioBoss are labeled, allowing screen reading software to speak their names.
I'm sure that manually labeling all controls in the source code is a time-consuming task, especially since some windows contain a mix of labeled and unlabeled controls. After investigating with the NVDA console, I discovered an example of an edit field without a spoken label:
Example of an edit field with no spoken label:
windowClassName: 'TButtonedEdit'
windowControlID: 69808
windowStyle: 1409351872
extendedWindowStyle: 512
windowThreadID: 8584
windowText: '120'
displayText: '120'
IAccessibleObject: <POINTER(IAccessible) ptr=0xab08e50 at 90a37b0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=69808, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: '120'
Here's an example of an edit field that can be read:
windowClassName: 'TDKNumberBox'
windowControlID: 70014
windowStyle: 1409351874
extendedWindowStyle: 512
windowThreadID: 9384
windowText: '2.5'
displayText: '2.5'
IAccessibleObject: <POINTER(IAccessible) ptr=0xab4ac58 at 5e87c60>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=70014, objectID=-4, childID=0
IAccessible accName: 'Amount of track overlap'
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_VALID (4)
IAccessible accDescription: None
IAccessible accValue: '2.5'
These examples are from the Settings tab of the Playlist Manager in RadioBoss.
My question is whether there is a tool that could generate a list of all defined controls that have not been assigned "IAccessible" attributes, to streamline the process of making RadioBoss more accessible? I know very little about software development, and understand that I'm possibly oversimplifying a major undertaking by asking this question, but I thought it may be worth your consideration.
I'm sure that manually labeling all controls in the source code is a time-consuming task, especially since some windows contain a mix of labeled and unlabeled controls. After investigating with the NVDA console, I discovered an example of an edit field without a spoken label:
Example of an edit field with no spoken label:
windowClassName: 'TButtonedEdit'
windowControlID: 69808
windowStyle: 1409351872
extendedWindowStyle: 512
windowThreadID: 8584
windowText: '120'
displayText: '120'
IAccessibleObject: <POINTER(IAccessible) ptr=0xab08e50 at 90a37b0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=69808, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: '120'
Here's an example of an edit field that can be read:
windowClassName: 'TDKNumberBox'
windowControlID: 70014
windowStyle: 1409351874
extendedWindowStyle: 512
windowThreadID: 9384
windowText: '2.5'
displayText: '2.5'
IAccessibleObject: <POINTER(IAccessible) ptr=0xab4ac58 at 5e87c60>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=70014, objectID=-4, childID=0
IAccessible accName: 'Amount of track overlap'
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_VALID (4)
IAccessible accDescription: None
IAccessible accValue: '2.5'
These examples are from the Settings tab of the Playlist Manager in RadioBoss.
My question is whether there is a tool that could generate a list of all defined controls that have not been assigned "IAccessible" attributes, to streamline the process of making RadioBoss more accessible? I know very little about software development, and understand that I'm possibly oversimplifying a major undertaking by asking this question, but I thought it may be worth your consideration.