Hi! I'm Florian, developer of the TeamTalk VoiceOver Client — an open-source Python (wxPython/PySide6) TeamTalk 5 client built specifically for VoiceOver (macOS), NVDA/JAWS (Windows), and Braille display users.
Project: https://github.com/fla-rion/TeamTalk-VO-Client
Why I'm reaching out
Our app lives or dies by VoiceOver compatibility. We apply runtime PyObjC patches to wxPython's Objective-C classes to ensure VoiceOver announces controls correctly — roles, labels, list rows, etc. Right now, we verify this entirely by hand with a Braille display and VoiceOver running.
We'd love to move toward automated VoiceOver testing and your tooling around VoiceOver.js and screen reader automation caught my eye.
What we'd like to explore
- Using automated VoiceOver interaction to verify our accessibility patches work correctly after each release
- Building regression tests that check AX roles and labels on our native macOS UI
- Any patterns or tools from this repo that could apply to native macOS app testing (not just web)
Our current approach
Our accessibility patches are in src/ui/a11y.py. We use objc.classAddMethod (PyObjC) to globally patch Objective-C UI classes at startup.
Questions
- Does your tooling support native macOS apps, or is it primarily web/browser focused?
- Are there examples of automated VoiceOver tests for desktop Python apps?
- Interested in collaboration or sharing accessibility testing patterns?
Would love to connect with others in the accessibility automation space. Happy to share what we've learned about VoiceOver + wxPython on macOS.
Thanks!
— Florian / TeamTalk VoiceOver Client
Hi! I'm Florian, developer of the TeamTalk VoiceOver Client — an open-source Python (wxPython/PySide6) TeamTalk 5 client built specifically for VoiceOver (macOS), NVDA/JAWS (Windows), and Braille display users.
Project: https://github.com/fla-rion/TeamTalk-VO-Client
Why I'm reaching out
Our app lives or dies by VoiceOver compatibility. We apply runtime PyObjC patches to wxPython's Objective-C classes to ensure VoiceOver announces controls correctly — roles, labels, list rows, etc. Right now, we verify this entirely by hand with a Braille display and VoiceOver running.
We'd love to move toward automated VoiceOver testing and your tooling around VoiceOver.js and screen reader automation caught my eye.
What we'd like to explore
Our current approach
Our accessibility patches are in
src/ui/a11y.py. We useobjc.classAddMethod(PyObjC) to globally patch Objective-C UI classes at startup.Questions
Would love to connect with others in the accessibility automation space. Happy to share what we've learned about VoiceOver + wxPython on macOS.
Thanks!
— Florian / TeamTalk VoiceOver Client