belangeo / pyo

Python DSP module
GNU Lesser General Public License v3.0
1.28k stars 130 forks source link

WX slider controls are not screen reader accessible #210

Open ultrasound1372 opened 3 years ago

ultrasound1372 commented 3 years ago

When the examples spawn their WX control windows with sliders in them, I cannot interact with them with my screen reader. Pressing tab takes me through them, but they just read as panel value, where value is the value of the control. The arrow keys, page keys, home/end do not work. I saw in the code somewhere that you're also supposed to be able to type in value via the numpad and press enter to commit that, but that doesn't seem to work either. Maybe it's not properly handling keyboard focus? Could this be fixed? I understand the graph controls and other plot type controls can't be accessible just on principle, but sliders/knobs/other manipulateable parameters should be. WX definitely has the capability to do that. Either you you can use its normal classes for sliders or implement the accessibility overlays and keyboard events on your custom controls. You would have to set an accessible role and name, handle keyboard events, possibly some other things that I'm forgetting. This should be done with either WXPython 4.0.3 or WXPython 4.1.0, any version in between those two broke accessibility.

belangeo commented 3 years ago

Hi, I'll try to take a look when I'll have a little free time...

belangeo commented 2 years ago

It looks like it's available only for Windows:

https://wxpython.org/Phoenix/docs/html/wx.Accessible.html

Maybe when it becomes a cross-platform feature...!

ultrasound1372 commented 2 years ago

I consider this unfair. Even if you don't implement the wx.accessible role and name, isn't there some way you can make the controls at least properly respond to keyboard input when the keyboard focus is on them? I know my screen reader is supposed to pass those gestures through to the control.