microsoft-ui-xaml icon indicating copy to clipboard operation
microsoft-ui-xaml copied to clipboard

TextBlocks are not read by screen readers when they are used in a XAML Islands app

Open DHowett opened this issue 3 months ago • 1 comments

Describe the bug

TextBlocks are not read by Narrator and NVDA when they are used in a XAML Islands app.

Steps to reproduce the bug
Verified this behavior in the following places:

  • Windows Terminal Settings UI (NavigationView scenario)
  • Xaml Islands Sample App
    • "Win UI Navigation" is not read in the navigation view (even if a button is placed as the content next to the text block)
    • (when added) a text block above the "Hello from Xaml!" text box is not read

I have also tried adding a hyperlink to the text blocks, and the behavior slightly changed:

  | Narrator | NVDA -- | -- | -- Normal | Reads hyperlink, but not surrounding text. | Reads text block and hyperlinked portion. Xaml Islands | Silence. | Silence.

Additional context
Surprisingly, I've done a bit of testing with ContentDialogs too (see #2681). For NVDA, the text blocks are actually ready when the Content Dialog opens (except for the title). This further makes me think that the issue isn't that the automation properties aren't being exposed, but rather we need to notify the screen reader for when to read the text block.


Describe the bug

TextBlocks are not read by Narrator and NVDA when they are used in a XAML Islands app.

Steps to reproduce the bug Verified this behavior in the following places:

Windows Terminal Settings UI (NavigationView scenario) Xaml Islands Sample App "Win UI Navigation" is not read in the navigation view (even if a button is placed as the content next to the text block) (when added) a text block above the "Hello from Xaml!" text box is not read I have also tried adding a hyperlink to the text blocks, and the behavior slightly changed:

Narrator NVDA Normal Reads hyperlink, but not surrounding text. Reads text block and hyperlinked portion. Xaml Islands Silence. Silence. If you enter scan mode, you are able to navigate around the text (hyperlinked and not).

Expected behavior

At a minimum, XAML Islands should have the same behavior as a non-xaml islands app.

Ideally, for hyperlinks, all screen readers would behave like NVDA. That said, that might be an issue that's on screen readers, not XAML.

The real issue here is that these text blocks are not read automatically. It seems like they're being exposed, and we're just not notifying the screen reader that we've navigated to a portion of the screen that has a text block.

Version Info NuGet package version: [Microsoft.UI.Xaml 2.5.0]

Windows app type:

UWP Win32 Windows 10 version Saw the problem? Insider Build (xxxxx) October 2020 Update (19042) May 2020 Update (19041) November 2019 Update (18363) May 2019 Update (18362) October 2018 Update (17763) April 2018 Update (17134) Fall Creators Update (16299) Creators Update (15063) Device form factor Saw the problem? Desktop Xbox Surface Hub IoT Additional context Surprisingly, I've done a bit of testing with ContentDialogs too (see https://github.com/microsoft/microsoft-ui-xaml/issues/2681). For NVDA, the text blocks are actually ready when the Content Dialog opens (except for the title). This further makes me think that the issue isn't that the automation properties aren't being exposed, but rather we need to notify the screen reader for when to read the text block.

DHowett avatar Nov 03 '25 23:11 DHowett

I've kindly reopened a new bug to track closed issue #4399 as the team will not respond on that one.

DHowett avatar Nov 03 '25 23:11 DHowett