-
Notifications
You must be signed in to change notification settings - Fork 809
Description
Describe the bug
In a XAML Islands app, the open/close button for the NavigationView doesn't announce its state.
This issue was originally reported on Windows Terminal in microsoft/terminal#19687. That bug was filed by the accessibility team. I've tested this scenario in several cases:
- WinUI 3: no repro
- WinUI 2 gallery: no repro
- XAML Islands: repro (tested via Scratch.slnx project in Terminal repo; this project is intended to be a simple way to test things in XAML Islands for our app)
Why is this important?
Screen reader users cannot determine whether the navigation panel is open or closed, leading to confusion and difficulty in navigating the interface. This impacts efficiency and independence.
Steps to reproduce the bug
- Turn on Narrator using Ctrl+Win+Enter
- Open a XAML Islands app with a NavigationView
- Move focus to the open/close button of the navigation view
- Invoke it using Space/Enter
Actual behavior
When the user activates the 'Open/Close' navigation button, the screen reader remains silent. It does not announce whether the navigation panel is open or closed. The button label is announced only when it receives keyboard focus for the first time.
I've also found that Space and Enter are read out differently.
Expected behavior
The 'Open/Close' navigation button should programmatically expose its state (open or closed) using appropriate ARIA attributes (e.g., aria-expanded="true" or aria-expanded="false") so that assistive technologies announce the state change when the button is activated.
Screenshots
Attachments from microsoft/terminal#19687:
https://microsoftapc-my.sharepoint.com/:u:/g/personal/v-heparihar_microsoft_com/IQDLd9wWKN2AQ5st84Yv_lwwAXMfAiE1AuV8JoNjoRTKxW0?e=pQZpOf
NuGet package version
None
Windows version
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status