Fix many screen reader accessibility issues #4666
Merged
Marc-André Moreau (mamoreau-devolutions) merged 4 commits intoDevolutions:mainfrom Apr 30, 2026
Merged
Fix many screen reader accessibility issues #4666Marc-André Moreau (mamoreau-devolutions) merged 4 commits intoDevolutions:mainfrom
Marc-André Moreau (mamoreau-devolutions) merged 4 commits intoDevolutions:mainfrom
Conversation
Added AutomationProperties.SetName to the CustomNavViewItem control to ensure screen readers correctly announce the localized names for navigation options like 'Software Updates' and 'Installed Packages'.
This commit resolves several UX issues to significantly improve the keyboard and screen reader navigation flow:
- Added AutomationProperties.Name to the loading screen grid, operation list resizers, and the ExpandCollapseOpList button.
- Disabled IsTabStop on the custom TitleBar so it doesn't get focused unnecessarily.
- Fixed accessibility for view mode and filter options by assigning them grouping roles.
- Added descriptive labels to the ToggleFiltersButton and MainToolbarButtonDropdown ('More actions').
- Bound AutomationProperties.Name to the dynamic text of MainToolbarButton so it correctly reads 'Install selected packages', etc.
- Added AutomationProperties.Name to the BackButton on the package preferences dialog.
- Added AutomationProperties.Name to the search mode radio buttons.
- Removed 'ghost' tab stops following the Help button by explicitly setting IsTabStop='False' and OverflowButtonVisibility='Collapsed' on the CommandBar and surrounding layout containers.
- Fixed CheckboxHeader by setting IsTabStop='False' and AccessibilityView='Raw'.
- Improved package list item accessibility by building a custom AutomationPeer for PackageItemContainer that implements IToggleProvider and acts natively as a CheckBox role, allowing direct selection and status announcement without an extra tab stop.
- Added AutomationProperties.Name and ToolTip labels ('User profile') to the dynamic GitHub login/cloud backup avatar UserControl in the main title bar.
Set IsTabStop='False' and AccessibilityView='Raw' on the FiltersResizer to completely remove it from the keyboard navigation flow and accessibility tree, as it is purely visual and does not need to be focused by screen reader users.
Marc-André Moreau (mamoreau-devolutions)
approved these changes
Apr 30, 2026
ff915f0
into
Devolutions:main
1 check passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fix many screen reader accessibility issues(more details in the commit messages)
Relates to #1767 followup to #4661