WebView2 doesn't respect role=application
Summary:
When using Jaws 2025 with a WebView2 embedded application, the screenreader takes control of the user’s focus even though the aria role is “application”.
Expected result
When your focus is in the text input with the aria-role=”application”, the arrow keys will trigger the keyDown handlers and not pass through to the screenreader or trigger browser mode.
Actual result
The first time you press the down arrow it works as expected (triggering the keyDown handler and remaining in the textInput. Any subsequent keypresses for up or down will move your virtual cursor out of the text input
Example
You can run this on WebView2 by running the sample Winforms browser app, and then pasting the URL for the CodePen page into the url bar and pressing “Go”: WebView2Samples/SampleApps/WebView2WindowsFormsBrowser at main · MicrosoftEdge/WebView2Samples (note you’ll have to go to the root directory “WebView2Samples” to actually download the sample app, but it’s the Winforms browser you’ll want to run).
Compare this to running the CodePen page on a chromium browser (such as Google Chrome) while running JAWS and you’ll note that the virtual cursor is engaged when it shouldn’t be since this is an interactable HTML element.
Additional Information
JAWS version: 2025.2503.39 Operating System and version: Windows 11 Enterprise: 10.0.26100 Browser and version: WebView2WindowsFormsBrowser, Version 1.0