Feature/accessibility improvements #1777
Open
+3,377
−3,091
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add comprehensive screen reader accessibility support
Summary
This PR implements comprehensive screen reader accessibility for Moonlight Qt, making the application fully usable with NVDA, JAWS, Narrator, VoiceOver, and Orca.
Motivation
I installed Moonlight and discovered it had no accessibility support for screen readers. As someone who relies on screen readers, I wanted to contribute accessibility improvements to make this app usable for the visually impaired community.
Changes Made
Core Components
accessibleNameproperty andAccessible.ButtonroleaccessibleName/accessibleDescriptionproperties for grid itemsAccessible.MenuItemrole with press actionsAccessible.DialogroleMain Views
Settings
accessibleDescriptionproperty andComboBoxroleAccessible.CheckBoxrole with toggle actionsAccessible.Sliderrole with value announcementsStreaming Screens
StatusBarrole for dynamic connection status ("Starting...", "Connecting...", etc.)StatusBarrole for quit progress announcementsTesting
Implementation Details
Accessible.*properties)Files Modified
12 QML files in
app/gui/:Development Notes
Most of this code was written with assistance from Claude Code (Anthropic's AI coding assistant). While I've tested it thoroughly with multiple screen readers, please feel free to edit, modify, or improve any part of this implementation. I'm not claiming ownership of this approach - my only goal is to make Moonlight accessible to the visually impaired community. If you see better ways to implement any of this, please go ahead and make changes directly. I welcome all suggestions, edits, and improvements!
Impact
This PR makes Moonlight Qt fully accessible for blind and visually impaired users, enabling them to:
Thank you for considering this contribution. Feel free to push commits directly to this PR or request changes - I'm flexible and just want to help make Moonlight accessible for everyone!