Narrator screen reader is not announcing any information about "Generating Previews" popup: A11y_.NET CoreWinforms_PrintingTesting_ScreenReader
.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:
- Turn on Narrator/NVDA.
- Launch the "Accessibility core app".
- Main Form screen would appear.
- TAB to "Printing_Controls:Testing the controls under Printing Tab" and hit ENTER key.
- "Generating Previews" popup will appear.
- 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
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”.
GithubTags:#Rev:yaja;
@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.
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
Verified this issue on the latest .NET 9.0.100-preview 6.24320.9, this issue still repro.
Narrator:
NVDA:
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 Can I get an update on this issue? Will we have a resolution, even partial, for RC1?
@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
@merriemcgaw please follow up on this one
@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.
@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 I tested JAWS can responds and announce the label and cancel button in "Generating Previews" dialog correctly, but Narrator cannot.
@Tanya-Solyanik In native applications, narrator can't focus on dialogs that start on helper threads
#Regressed:08-09-24;
Verified this issue in the latest build.
- Issue is still reproducing with Narrator as it is not announcing anything about popup.
- NVDA is announcing about cancel button after loading 12 documents.
- Issue is not reproducing with JAWS. Please find all the attachments for reference.
@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
@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 here is a screenshot of "Generating Previews" pane in AccessibilityInsights:
@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 What's details you want to see? All properties of "Generating Previews" pane in AI tools?
@Olina-Zhang As we are able to see the details till 'Legacy accessible pattern.child id', we need whatever details present below it.
@PoojaNamde It seems it hard to use AccessibilityInsights to focus on Generating Previews window, here is I captured:
@PoojaNamde can you close this now?
@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.
#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.
@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
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.
If you set
IsDialogandAccessibleNameappropriately 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.
@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 The properties IsDialog and AccessibleName have been updated, can we close this issue?
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