Fix NVDA not announcing on initial window focus#31
Conversation
When the app launches with an empty queue, focus lands on the ListView which NVDA treats as silent. Move initial focus to the format combobox so the screen reader announces the window title and a meaningful control.
|
@trypsynth First of all, thank you so much for the PR! I actually did test with NVDA and noticed this behavior. My question is: is it an NVDA bug and can't we force it somehow to say something meaningful? JAWS says "List view 0 items" here which is expected. |
|
@Menelion you're right that it's arguably an NVDA bug, but there's no clean way I know of to force NVDA's behavior from WinForms without dirty hacks like injecting a fake invisible list item. The focus-to-combobox approach feels to me like a pragmatic workaround that also makes some UX sense: on an empty queue there's nothing to do in the list, so starting at the format dropdown feels natural. Happy to adjust if you have a cleaner idea in mind, though. |
|
@trypsynth I actually don't like the idea of moving focus, to be honest. Can we fake a list item with some text, like "Add your images here" in the first column? |
Replace the focus-shifting approach with a greyed-out placeholder
item ("Add your images here") in the ListView's first column.
NVDA announces it on initial focus without any UX disruption.
The placeholder is hidden as soon as a real image is added and
restored when the queue is cleared. Guards prevent it from being
selected or acted upon.
|
@Menelion how's that? |
|
@trypsynth Cooool! Thank you so much! Probably will release a patch since it's a dealbreaker for NVDA users, I didn't like it myself but had no idea at that moment. Thank you! |
Summary
imageListView(TabIndex 0) received initial focus but NVDA treats an empty ListView as silent, announcing nothingShownevent to move focus toformatComboBoxwhen the list is empty, giving NVDA a meaningful control to announce alongside the window titleTest Plan