Repository navigation
[release/10.0.1xx-sr11] [Mac] Fix VoiceOver does not announce initial ComboBox state in Task and Project Details - #38600
Merged
kubaflo merged 1 commit intoSep 16, 2026
Conversation
…and Project Details (#38595) > [!NOTE] > Are you waiting for the changes in this PR to be merged? > It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you! ### Issue Details VoiceOver on macOS does not announce the ComboBox control type or its initial "Collapsed" state when initially navigating to the Project and Category pickers in the .NET MAUI mobile project template (DeveloperBalance). Unknown On initial linear navigation (`Control + Option + Right Arrow`), VoiceOver reads only the control's descriptive label without indicating that it is an expandable ComboBox or that its current state is collapsed. ### Root Cause In earlier versions, static semantic properties (`SemanticProperties.Description` and `SemanticProperties.Hint="State Collapsed"`) were assigned to the parent `SfTextInputLayout` container. The regression was introduced in PR #32286 , which attempted to make state announcements dynamic by removing the static `"State Collapsed"` hint and relying exclusively on `SemanticScreenReader.Announce` triggered via `Picker.IsOpen` property changes. Because synthetic announcements only fire on value changes, no state announcement was produced when the control initially received focus. ### Description of Change Appended State Collapsed directly to the `SemanticProperties.Hint` of each native Picker on both the Project Details and Task Details pages. Kept `SfTextInputLayout` responsible solely for visual presentation and floating labels. Preserved existing bindings, commands, and dynamic expansion announcements from PR #32286 while ensuring the initial resting state is exposed to platform accessibility APIs. ### Why Tests Were Not Added This issue requires manual accessibility validation using platform screen readers (macOS VoiceOver and Android TalkBack) to verify focus traversal and spoken announcements. Because these accessibility announcements cannot be reliably validated via automated UI/unit tests, manual verification was performed across macOS, Android, and Windows. ### Issues Fixed Fixes #36471 ### Screenshots | Before Issue Fix | After Issue Fix | |----------|----------| | <video width="300" height="600" src="https://github.com/user-attachments/assets/8ab47eea-6061-4fcb-9780-e8eea0c4e785"> | <video width="300" height="600" src="https://github.com/user-attachments/assets/b5d23234-2423-43fc-b3cb-915b14e73cd7"> |
|
Azure Pipelines: Successfully started running 1 pipeline(s). There may be pipelines that require an authorized user to comment /azp run to run. |
kubaflo
approved these changes
Sep 16, 2026
3 tasks done
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.
Backport of #38595 to release/10.0.1xx-sr11
/cc @kubaflo @praveenkumarkarunanithi