Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A11Y: WebView2 control is completely inaccessible with screen readers (NVDA, JAWS and parcially with Narrator too) #2330

Closed
akash07k opened this issue Apr 3, 2022 · 30 comments
Labels
bug Something isn't working tracked We are tracking this work internally.

Comments

@akash07k
Copy link

akash07k commented Apr 3, 2022

Description

The WebView is completely inaccessible with all of the screen readers.
Version
SDK: Windows App SDK 0.8.7 Stable as well as 1.1.0 Preview 1
Runtime: Microsoft Edge version 100.0.1185.29 as well as Microsoft Edge Canary version 102.0.1212.0
Framework: WinUI
OS: Win10(22581.200)

Repro Steps

  1. Create a fresh WinUI app (Stable or Preview doesn't matter). (Packaged or Unpackaged also doesn't matter).
  2. Go the MainWindow.xaml
  3. Write the code to include the webview in the app.
  4. Now compile/run/debug the app and tab to the webview.
  5. Observe navigating it with screen reader, tab, arrow keys won't work. Nothing will be announced by the screen reader.
  6. Press Alt+F4 to close the app.
  7. Observe, the app won't close.
  8. I'm attaching the sample app code and videos the issue can be checked in that too.

The webview should be accessible with screen readers and we should be able to read and navigate the content flawlessly.

Screenshots
Attaching videos and the demo app code.
Additional context
Scarlett.zip

WebView2.Issue_1.mp4
WebView2.Issue_2.mp4

AB#38855066

@akash07k akash07k added the bug Something isn't working label Apr 3, 2022
@champnic
Copy link
Member

champnic commented Apr 5, 2022

@akash07k - Thanks for the bug report! WebView2 uses UIA for its accessibility tree. If you try the Narrator screen reader it should work correctly. We have a known issue with JAWS and NVDA, though we are in contact with them about adding the support to correctly read the UIA tree. I'll link this to our work item adding that support.

If you also see your issue with Narrator then please let me know, as something else may be broken.

@champnic champnic changed the title A11Y: WebView2 control is completely inaccessible with all the screen readers A11Y: WebView2 control is completely inaccessible with non-UIA screen readers (NVDA, JAWS) Apr 5, 2022
@akash07k
Copy link
Author

akash07k commented Apr 5, 2022

@champnic
Actually This issue has started reproducing since around 2 weeks.
Previously the webview2 was completely accessible with all the screen readers.
I've tried with Narrator, and although it reads the things in the scan mode, The tab navigation doesn't work properly and it doesn't read anything most of the time.
Alt+F4 also doesn't work for closing the application when we are inside webview.
This issues were not there 2 weeks before.
I don't think that it is UIA specific, NVDA supports UIA in edge webviews and I've tried explicitly turning on the UIA support in NVDA settings but same issue.
I think something is really broken up recently.

@akash07k akash07k changed the title A11Y: WebView2 control is completely inaccessible with non-UIA screen readers (NVDA, JAWS) A11Y: WebView2 control is completely inaccessible with screen readers (NVDA, JAWS and parcially with Narrator too) Apr 5, 2022
@champnic
Copy link
Member

champnic commented Apr 5, 2022

Do you have any idea what changed 2 weeks ago? OS update, runtime version change, or SDK change?

If you revert any of those (using previous SDK/runtime/OS) do you still see the issue?

@akash07k
Copy link
Author

akash07k commented Apr 5, 2022

@champnic
Actually I feel that runtime or sdk is updated since then, may be it is causing the issue.
I'm not sure though that which version was there previously.
I checked the issue on other builds of windows too, but it still persists everywhere.
Any way to downgrade the runtime?

@champnic champnic added the tracked We are tracking this work internally. label Apr 5, 2022
@champnic
Copy link
Member

champnic commented Apr 5, 2022

Adding this bug to our backlog.

@akash07k
Copy link
Author

akash07k commented Apr 5, 2022 via email

@champnic
Copy link
Member

champnic commented Apr 6, 2022

@akash07k All of our work goes onto our backlog, it is just a big list of all of our work. It does not imply priority.

@LeonarddeR
Copy link

This could be related to nvaccess/nvda#8553.
Note that, while Webview2 uses UIA, NVDA still uses the Chromium IAccessible2 implementation to expose the contents of the web view.

@akash07k
Copy link
Author

@LeonarddeR
In my opinion it's not related as this issue started to appear recently. And the issue on NVDA repo is almost 3-4 years old.

@LeonarddeR
Copy link

Thanks @akash07k.
I tried to test the app you provided, but it ends up in a break state shortly after starting. I'll have a test later this week to see whether I can reproduce this.

@akash07k
Copy link
Author

akash07k commented Apr 14, 2022 via email

@JordyDew
Copy link

JordyDew commented Sep 8, 2022

What's the current status of this issue?

Using NVDA, things seem to work properly, but using JAWS, they don't. Any ideas on that?

@akash07k
Copy link
Author

akash07k commented Sep 9, 2022 via email

@Daniellled
Copy link

Any update on this issue? This provides a bad user experience.

@rperez030
Copy link

I just tested this with the latest stable version of .NET 6.0, and this is what I found.

  • Both NVDA and Narrator can detect when focus enters the WebView and interact with the content using UIA.
  • JAWS cannot detect when focus goes inside the WebView and does not interact with the content. based on a conversation I had with Vispero this is something they are aware of and are working to resolve.

The issue that still remains, and it is a critical one in my opinion, is that key combinations such as Alt +F4 and Alt +Space bar do not work inside the WebView by default. this means that a keyboard user, screen reader user or not, will get trapped in the WebView unable to close the application or interact with the underlying window.

@akash07k
Copy link
Author

akash07k commented Nov 4, 2022 via email

@champnic
Copy link
Member

@rperez030 Would you mind specifically opening a new issue to track the "Alt+F4" and "Alt+Space" scenarios?

@rperez030
Copy link

@champnic done - #2961 -. Please let me know if there is anything I should add.

@akash07k
Copy link
Author

@champnic Any update on this and on #2961 as well?
Both of these issues are not since fixed since 8 months now and sadly we are having very bad experience as such.
Not only Alt+F4, in fact if we once enter into the WebView, we can't go come outside of it by any pressing Shift+Tab or any other way.
Not only this, accessibility is still a big mess inside the WebViews with both JAWS, NVDA as well as Narrator.
Screen readers just read few controls via Tab key and after they stop recognizing any of the controls.
Only the Browse/Scan mode works which is not a good experience.
I really urge and request Microsoft that they seriously consider these both issues on priority and fix them.
Most of my apps based on WebView2 are completely unusable since all these months and I have some more full stack apps which I want to develop and I am unable to do so due to broken WebViews.
Please do not take these issues lightly. 🙏🙏🙏🙏🙏🙏

@akash07k
Copy link
Author

akash07k commented Jan 2, 2023

@champnic 1 update on this.
This seems that this issue is only happening with the WebView2 on WinUI based (MAUI too since it is based on WinUI).
I tried the same version of WebView2 with Tauri and none of the issues are present there.
Seems that there's something wrong with the implementation of WinUI.
I'll file the same issue on WinUI repo.

@vagisha-nidhi195
Copy link

Adding to this, I am facing the same issue with JAWS and NVDA, both of them do not work and read out the elements. Alternatively, Narrator work well without any issue.

@akash07k
Copy link
Author

akash07k commented Feb 1, 2024

is any fix to this planned anytime soon?

@victorhuangwq
Copy link
Collaborator

This issue is currently being looked at; we will update here if there's a timeline.

@ObjectInSpace
Copy link

ObjectInSpace commented Nov 18, 2024

Hey Victor,

It's been quite some time since the last update here.

This looks like a pretty critical blocker for anyone adopting WebView2 in their app if they wish to remain accessible to all users.

Can you provide any new information? How long can we expect this to remain unresolved, and what are some acceptable workarounds in the meantime?

Thanks much!

@champnic
Copy link
Member

Looks like this was addressed in WinAppSDK 1.6 and serviced back to 1.5. If you are still running into an accessibility issue for a specific scenario, please open a new issue and we'll take a look. Thanks!

@akash07k
Copy link
Author

Looks like this was addressed in WinAppSDK 1.6 and serviced back to 1.5. If you are still running into an accessibility issue for a specific scenario, please open a new issue and we'll take a look. Thanks!

I'm still seeing all same issues despite using 1.6
@champnic

@akash07k
Copy link
Author

But, why do you want me to open the new issue if this issue itself is not fixed?
I can't see any changelog entry either in WinUI releases changelog.

@akash07k https://github.com/MicrosoftEdge/WebView2Feedback/issues/new?assignees=&labels=bug&projects=&template=Bug+report+form.yml&title=%5BProblem%2FBug%5D%3A+

@champnic
Copy link
Member

Because this bug that this issue was tracking has been fixed. As well as the other bug tracking Windows shortcuts. Unless you are saying you have no screen reader access at all in WinAppSDK?

If that's not the issue you are running into, opening a new issue with the specific details of what you are trying to do, what's not working, version information for your setup, and sample code (if applicable) will be more beneficial than continuing this thread or increasing it's scope.

@akash07k
Copy link
Author

Because this bug that this issue was tracking has been fixed. As well as the other bug tracking Windows shortcuts. Unless you are saying you have no screen reader access at all in WinAppSDK?

If that's not the issue you are running into, opening a new issue with the specific details of what you are trying to do, what's not working, version information for your setup, and sample code (if applicable) will be more beneficial than continuing this thread or increasing it's scope.

hmm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working tracked We are tracking this work internally.
Projects
None yet
Development

No branches or pull requests

9 participants