Skip to content

Screen reader doesn't announce 'Open/Close' state on for NavigationView in Xaml Islands #10958

@carlos-zamora

Description

@carlos-zamora

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

  1. Turn on Narrator using Ctrl+Win+Enter
  2. Open a XAML Islands app with a NavigationView
  3. Move focus to the open/close button of the navigation view
  4. 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

No one assigned

    Labels

    area-IslandsXaml Islands featurebugSomething isn't working

    Type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions