winforms icon indicating copy to clipboard operation
winforms copied to clipboard

Narrator screen reader is not announcing any information about "Generating Previews" popup: A11y_.NET CoreWinforms_PrintingTesting_ScreenReader

Open PoojaNamde opened this issue 1 year ago • 6 comments

.NET version

dotnet-sdk-9.0.100-preview.5.24258.1

Did it work in .NET Framework?

Yes

Did it work in any of the earlier releases of .NET Core or .NET 5+?

No response

Issue description

GitHub Tags:

#A11yMAS; #A11yTCS; #A11ySev2; #BM_.NET Core[Winforms]_Win32_May2024; #.NETCore; #WCAG1.3.1; #DesktopApp; #Win11; #FTP; #Narrator; #NVDA; #Element:Dialog;

Environment Details:

App name: .NET Core Winforms Window Version: Win 11 OS Build: 22621.3085 Screen readers: Narrator, NVDA 2023.3.3

Repro Steps:

  1. Turn on Narrator/NVDA.
  2. Launch the "Accessibility core app".
  3. Main Form screen would appear.
  4. TAB to "Printing_Controls:Testing the controls under Printing Tab" and hit ENTER key.
  5. "Generating Previews" popup will appear.
  6. Observe that Narrator screen reader is not announcing any information about "Generating Previews" popup.

Actual Result:

Narrator screen reader is not announcing any information about "Generating Previews" popup

Similar issue also observed with NVDA.

Expected Result:

Narrator screen reader should be announcing information about "Generating Previews" popup

User Impact:

Screen reader users will not be able to get information about the popup.

Attachment

11456_A11y_.NET CoreWinforms_PrintingTesting_NVDA.webm

11456_A11y_.NET CoreWinforms_PrintingTesting_Narrator.webm

PoojaNamde avatar May 30 '24 04:05 PoojaNamde

Same as https://github.com/dotnet/winforms/issues/9280. However, on .NET 9.0, the results are the same for NVDA and Narrator, and the screen reader does not announce any information about “Generating Previews”.

Philip-Wang01 avatar May 31 '24 06:05 Philip-Wang01

GithubTags:#Rev:yaja;

Yash14j avatar May 31 '24 08:05 Yash14j

@LeafShi1 can you confirm whether this is our API with the popup dialog or if this comes from Windows. I am confirming the severity change from last year to this year. If so, please add notification events for the page counts changing.

merriemcgaw avatar Jun 04 '24 22:06 merriemcgaw

can you confirm whether this is our API with the popup dialog or if this comes from Windows

This is our API , we will fix this issue

LeafShi1 avatar Jun 12 '24 10:06 LeafShi1

Verified this issue on the latest .NET 9.0.100-preview 6.24320.9, this issue still repro.

Narrator: narrator issue

NVDA: nvda issue

Liv-Goh avatar Jun 21 '24 08:06 Liv-Goh

It's strange is that opening Narrator after the "Generating Previews" showing, the dialog can get focus and the content can be announced normally. If opening Narrator first and then debugging the project, the dialog "Generating Previews" cannot get focus.

This problem is because StatusDialog runs in a new thread, and Narrator cannot focus on the new thread. NVDA can recognize the new thread normally.

LeafShi1 avatar Jul 02 '24 09:07 LeafShi1

@LeafShi1 Can I get an update on this issue? Will we have a resolution, even partial, for RC1?

merriemcgaw avatar Jul 26 '24 00:07 merriemcgaw

@LeafShi1 Can I get an update on this issue? Will we have a resolution, even partial, for RC1?

Currently this problem is blocked, because Narrator cannot focus on the new thread

LeafShi1 avatar Jul 26 '24 07:07 LeafShi1

@merriemcgaw please follow up on this one

JeremyKuhne avatar Jul 31 '24 20:07 JeremyKuhne

@LeafShi1 - had you seen that narrator can't focus on dialogs that start on helper threads in in native applications -

This problem is because StatusDialog runs in a new thread, and Narrator cannot focus on the new thread. NVDA can recognize the new thread normally.

Tanya-Solyanik avatar Jul 31 '24 20:07 Tanya-Solyanik

@Olina-Zhang can your team check to see if JAWS responds correctly in this scenario? I'm going to bring this to Office Hours to see if we can close it or they'd like to file a Narrator bug. It would be nice to know if we're good on both free screen readers when I do.

merriemcgaw avatar Jul 31 '24 21:07 merriemcgaw

@merriemcgaw I tested JAWS can responds and announce the label and cancel button in "Generating Previews" dialog correctly, but Narrator cannot.

Olina-Zhang avatar Aug 01 '24 08:08 Olina-Zhang

@Tanya-Solyanik In native applications, narrator can't focus on dialogs that start on helper threads

issues11456

Epica3055 avatar Aug 01 '24 10:08 Epica3055

#Regressed:08-09-24;

Verified this issue in the latest build.

  1. Issue is still reproducing with Narrator as it is not announcing anything about popup.
  2. NVDA is announcing about cancel button after loading 12 documents.
  3. Issue is not reproducing with JAWS. Please find all the attachments for reference.

JAWS attachment.webm

Narrator attachment.webm

NVDA attachment.webm

PoojaNamde avatar Aug 09 '24 05:08 PoojaNamde

@Epica3055

In native applications, narrator can't focus on dialogs that start on helper threads

Your screen short shows a winforms application. When we talk about native applications we usually mean MFC. But no more experiments are needed in this case as this seems to be a difference between narrator and Jaws

Tanya-Solyanik avatar Aug 10 '24 04:08 Tanya-Solyanik

@Olina-Zhang please attach a picture of the UIA properties from AccessibilityInsights when that dialog is up to show it's got everything coded right and they'll close it.

merriemcgaw avatar Aug 14 '24 18:08 merriemcgaw

@merriemcgaw here is a screenshot of "Generating Previews" pane in AccessibilityInsights: image

Olina-Zhang avatar Aug 15 '24 08:08 Olina-Zhang

@Olina-Zhang Could you please share screenshot Accessibility insights including whole details. I tried to get the whole details but not able to inspect the control with AI tool.

PoojaNamde avatar Aug 16 '24 06:08 PoojaNamde

@PoojaNamde What's details you want to see? All properties of "Generating Previews" pane in AI tools?

Olina-Zhang avatar Aug 20 '24 06:08 Olina-Zhang

@Olina-Zhang As we are able to see the details till 'Legacy accessible pattern.child id', we need whatever details present below it.

PoojaNamde avatar Aug 21 '24 10:08 PoojaNamde

@PoojaNamde It seems it hard to use AccessibilityInsights to focus on Generating Previews window, here is I captured: image

Olina-Zhang avatar Aug 23 '24 06:08 Olina-Zhang

@PoojaNamde can you close this now?

merriemcgaw avatar Aug 27 '24 18:08 merriemcgaw

@LeafShi1 @Olina-Zhang I spoke with the SMEs and we need to know whether this dialog is content that we own or if we're getting this from Windows APIs?

If we get this dialog from Windows we will apply an existing exception which is already documented about Windows Printing APIs. If we own the pop up window then we need to update the window's AccessibleName property and that will solve this issue. If we own this code, is it Sample app code or WinForms code? We'd want to make sure we get this in for GA if it is WinForms code.

merriemcgaw avatar Aug 29 '24 20:08 merriemcgaw

#A11YCAIOH; #CEACCReviewed;

As per AI4D Screenshots, Is Dialog property is false and Name property is not given. Is Dialog should be true and Name property should be defined. Screen reader should read the title of the dialog to close this bug and not necessary to read the content as it is for few seconds.

PoojaNamde avatar Aug 30 '24 04:08 PoojaNamde

@merriemcgaw We own this pop-up window, and I tried to modify the AccessibleName property of the window, but it didn't work. Narrator still can't focus on the dialog.

and the problem is not reading the dialog title or content, but Narrator cannot focus on the dialog, even if an Accessibility object is created for the dialog (which we have done in PR #11523 ). The root cause is that the dialog runs on a helper thread.

And I found that not only the StatusDialog we defined, but also the MessageBox running in the helper thread cannot be focused by Narrator

BeforeChanges

LeafShi1 avatar Aug 30 '24 10:08 LeafShi1

If you set IsDialog and AccessibleName appropriately will at least NVDA and JAWS be able to read the title of the pop up window? If we can show we have those set correctly I think we will get permission to close this bug.

merriemcgaw avatar Aug 30 '24 18:08 merriemcgaw

If you set IsDialog and AccessibleName appropriately will at least NVDA and JAWS be able to read the title of the pop up window? If we can show we have those set correctly I think we will get permission to close this bug.

Currently NVDA and JAWS can read the Title of the pop-up window. AfterChanges

LeafShi1 avatar Sep 02 '24 07:09 LeafShi1

@LeafShi1 Excellent!

Can we go ahead and set IsDialog property to make it true and ensure there is an AccessibleName property? If we do both of these we will be able to resolve this issue, regardless of what Narrator does. We will be doing the right thing.

merriemcgaw avatar Sep 02 '24 22:09 merriemcgaw

@merriemcgaw The properties IsDialog and AccessibleName have been updated, can we close this issue?

LeafShi1 avatar Sep 09 '24 02:09 LeafShi1

Please show an image if possible of Accessibility Insights or Inspect that shows that so we can close this issue. @PoojaNamde be on the lookout for the image

merriemcgaw avatar Sep 09 '24 22:09 merriemcgaw