Guide: what exactly is WebView2, how to spot it, and how to interact with it using NVDA (2026 edition)

21 views
Skip to first unread message

joseph....@gmail.com

unread,
Dec 26, 2025, 1:47:03 PM12/26/25
to nvda-...@nvaccess.org

Hi all,

With the advent of WebView2 version of WhatsApp and other apps, the following message, originally sent to the NVDA users community back in July 2024, has become relevant. While the below guide is based on WebView2 Outlook, it is applicable (for the most part) to other WebView2 apps and was updated to reflect changes for 2025/2026. Note that some of the information below are geeky and should be discussed on NVDA add-ons and/or development lists:

Back in 2024, the NVDA community had discussions about the new Outlook powered by WebView2, and another discussion is happening (or took place depending on when you are reading this) in late 2025 when Meta introduced WhatsApp (Meta is responsible for Facebook (including Messenger portion), WhatsApp, and Threads). One of the most confusing aspects of the new Outlook and similar apps is the interface – it’s not using a traditional looking interface, nor provides dedicated commands for advanced features. Why is that? That is what I will teach you.

Outlook modern, WhatsApp, and other apps are some of the apps employing what’s called Edge WebView2 runtime, a UI engine powered by Edge web browser technologies. In short, when you use these apps, you are effectively using a web interface and web browsing paradigm to interact with these apps. In addition to the new Outlook, apps such as recent versions of WhatsApp, Microsoft Clipchamp (a video editing application), Facebook, X (formerly Twitter), and Windows 11’s widgets panel uses WebView2 to display their interfaces.

From the perspective of developers, adding WebView2 runtime gives them an option to employ web technologies in the user interface portion of their apps. This component, sometimes called “Evergreen”, is installed as part of Windows 11 (unsupported note: and can be bundled with apps in Windows 10). Developers can either include a specific version of WebView2 runtime (version number is in sync with Edge), or opt to rely on whichever version is installed on a user’s device provided that one is using latest WebView2 version (WebView2 updates on its own, often alongside Edge). Either scenario has consequences for app accessibility and interactivity for screen reader users (described below).

How can I spot WebView2 apps? If you think an app looks somewhat like a website, press Control+NVDA+F1. If you hear “msedgewebview2.exe”, then the app is employing this technology. In this case, the main code for the app runs on the main app executable while the UI components are rendered using a separate (more specifically, a child) process called msedgewebview2.exe, and NVDA will report the executable name for the UI portion.

How can I interact with apps employing WebView2? In many apps, you can press NVDA+Space to toggle between focus and browse modes. In focus mode, NVDA will act as though you are using the app without NVDA running (not always but close enough). In browse mode, you can use browse mode features such as find, elements list, single letter/key navigation, and other features provided by NVDA. There is a third option that lets you browse the web interface with cursor reading keys but use alphanumeric keys to perform app commands, and this mode can be toggled by pressing NVDA+Shift+Space (single letter navigation toggle).

One of the key issues discussed in recent posts on places such as NVDA add-ons list is the need for custom support for WebView2 runtime apps. In many cases, NVDA’s browse mode should suffice, but there are apps that could benefit from customized support code (done through what’s called an app module, a custom code created to offer improved accessibility and usability of various apps). NVDA 2024.3 and later includes foundations to let people write custom app modules for apps such as the new Outlook and WhatsApp. However, because WebView2 apps are really webpages (in disguise), writing custom code requires knowledge of NVDA’s browse mode support internals, specifically Chromium support (including IAccessible2, an accessibility standard replacing MSAA that competes with UI Automation).

Further, when writing a custom app module for WebView2 apps, you should NOT name them “msedgewebview2.py”. Doing so breaks NVDA’s own support for WebView2 components (WebView2 base app module credit: yours truly). Instead, you should use the app name reported by NVDA (whatsapp.root for WhatsApp, for example) as app module file name; you can obtain the app name through developer info (NVDA+F1) under “appModule” line. While a custom app module can offer additional shortcuts and workarounds, the app module still needs to utilize IA2 and other facilities to help fill the gaps in web accessibility until the app developer does so or the framework changes.

Speaking of web accessibility, an app developer choosing to employ WebView2 runtime must be told about web accessibility standards and considerations. As I mentioned, there are two ways to bundle WebView2 runtime in an app: deploy a specific version, or assume a computer has latest version installed. The first way offers stability at the cost of not supporting latest standards rendered by updated browsers. With the second option, the latest standards are supported with the understanding that screen readers may not catch up in time. For NVDA users, it comes down to how well a given web accessibility standard is supported by the screen reader and app developers exposing information in an appropriate way (one could turn to generative AI to write web UI accessibility improvements, but I’m a bit skeptical; that’s for another time and more towards private conversations).

A note on assumptions about web support from screen readers (applicable now with WebView2 runtime apps): without philosophizing too much, when people think of web accessibility, most of us would assume screen readers support latest and best standards, therefore it will work well with latest app releases using latest WebView2 runtime release; however, the truth is far from that – a screen reader release supports whatever its developers think the “latest and best” is at the time of its development and release, and NVDA is no exception. Web apps support through various means (including browse mode) is just one component of screen readers, and just like any complex software and community, NV Access staff and third-party contributors constantly navigate the choices on feature/bug priority for the time being.

In summary, think of apps employing WebView2 runtime as glorified webpage presentations.

Cheers,

Joseph

Gene Asner

unread,
Dec 26, 2025, 5:03:24 PM (14 days ago) 12/26/25
to nvda-...@nvaccess.org
I haven't tested this recently, but at least in the new Outlook when I
tested not that long ago, you don't want to switch to focus mode and
browse mode manually. Somehow, if you just leave things alone, NVDA
switches when it should, for example, browse mode for reading a message
and focus mode when looking at a message list. I don't know how this
works but however it does, if you manually change what NVDA does
somewhere such as in a message body, the only way I've found to restore
proper operation is to unload and run the program again.

Gene
> --
> ***
> Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
> NV Access expects that all community members will read and abide by the
> rules set out in this document while participating in this group.
> https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
> <https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md>
>
> You can contact the group owners and moderators via
> nvda-user...@nvaccess.org.
> ---
> You received this message because you are subscribed to the Google
> Groups "NVDA Screen Reader Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to nvda-users+...@nvaccess.org
> <mailto:nvda-users+...@nvaccess.org>.
> To view this discussion visit
> https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/001201dc7698%2404acc3d0%240e064b70%24%40gmail.com
> <https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/001201dc7698%2404acc3d0%240e064b70%24%40gmail.com?utm_medium=email&utm_source=footer>.

Mujtaba Merchant

unread,
Dec 27, 2025, 1:30:38 AM (14 days ago) 12/27/25
to nvda-...@nvaccess.org

Hi Joseph,

 

Thank you for sharing these details. The shift to a web view has surely broken accessibility for me and many other users on the WhatsApp desktop client for Windows. It really is a struggle to navigate now, but I suppose one has to get used to it and accept these changes as technology progresses.

 

Personally, I am of the opinion: if it ain't broke, why fix it?

I appreciate the technical breakdown of how WebView2 functions and the tips on using NVDA+Space and NVDA+Shift+Space to manage the interface. It's helpful to understand the "why" behind the clunky experience, even if the transition remains a difficult one for the community.

--

***
Please note: the NVDA project has a Citizen and Contributor Code of Conduct.
NV Access expects that all community members will read and abide by the rules set out in this document while participating in this group.
https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.md
 

You can contact the group owners and moderators via nvda-user...@nvaccess.org.
---
You received this message because you are subscribed to the Google Groups "NVDA Screen Reader Discussion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to nvda-users+...@nvaccess.org.
To view this discussion visit https://groups.google.com/a/nvaccess.org/d/msgid/nvda-users/001201dc7698%2404acc3d0%240e064b70%24%40gmail.com.

Reply all
Reply to author
Forward
0 new messages