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
We currently use PyObjC directly to patch macOS accessibility APIs at runtime — replacing accessibilityRole, accessibilityLabel, and similar methods on wxPython's Objective-C classes so that VoiceOver announces controls correctly (e.g., "Auswahlmenü" for popup buttons, "Liste" for list views).
Our patches live in src/ui/a11y.py and are applied via objc.classAddMethod at app startup.
pyatom provides a higher-level Python interface to the same macOS Accessibility APIs, and I'm interested in whether it could:
- Simplify or replace our manual PyObjC patching
- Help us write automated VoiceOver compatibility tests (e.g., verify that a control has the correct AX role/label after our patches are applied)
- Be used in CI to catch accessibility regressions
Questions
- Is pyatom still actively maintained? The last commit appears to be a while back.
- Are there known compatibility issues with macOS 13/14/15 and Python 3.9+?
- Has anyone used pyatom to test wxPython (wx.App) UIs specifically?
Happy to share more details about our patching approach or contribute test cases if there's interest. Would love to connect with others working on Python + macOS accessibility.
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
We currently use PyObjC directly to patch macOS accessibility APIs at runtime — replacing
accessibilityRole,accessibilityLabel, and similar methods on wxPython's Objective-C classes so that VoiceOver announces controls correctly (e.g., "Auswahlmenü" for popup buttons, "Liste" for list views).Our patches live in
src/ui/a11y.pyand are applied viaobjc.classAddMethodat app startup.pyatom provides a higher-level Python interface to the same macOS Accessibility APIs, and I'm interested in whether it could:
Questions
Happy to share more details about our patching approach or contribute test cases if there's interest. Would love to connect with others working on Python + macOS accessibility.
Thanks!
— Florian / TeamTalk VoiceOver Client