What problem does it solve?
This Skill addresses the complexities of developing accessible and cross-platform graphical user interfaces (GUIs) using the wxPython library, ensuring applications are usable by everyone, regardless of their assistive technology.
Core Features & Use Cases
- Sizer Layouts: Enforces the use of sizers for robust, platform-independent layouts, avoiding absolute positioning.
- Event Handling: Guides on proper event binding, custom event creation, and thread-safe event posting using
wx.CallAfter() and wx.PostEvent().
- Desktop Accessibility: Focuses on making controls keyboard-accessible, providing proper names, and managing tab order.
- Screen Reader Compatibility: Details critical event handling patterns (
EVT_CHAR_HOOK) to ensure compatibility with screen readers like NVDA and JAWS, especially for interactive controls.
- Cross-Platform Considerations: Highlights differences in menu bars, button order, and DPI scaling between Windows, macOS, and Linux.
Quick Start
Use the wxPython Specialist skill to create a wx.Frame with a vertical BoxSizer containing a wx.Button labeled 'Submit' and a wx.CheckBox labeled 'Agree to terms', ensuring both are accessible.