Windows 11: introduce support for Voice Access (NVDA installed on Windows 11 Version 22H2 and later)#18322
Merged
Merged
Conversation
…oin processing accepted. Re nvaccess#16862. Windows 11 Version 22H2 (2022 Updat2/build 22621) introduces Voice Access as a replacement for Windows Speech Recognition. As part of its work, Voice Access raises UIA notification to announce messages including microphone toggle status and dictated text. However, these elements do not have native window handle, cuaisng NVDA to drop these events. Therefore, employing the just introduceg 'shouldProcessUIANotificationEvent' API, say 'yes' when Voice Access app module is asked to handle notification events. Doing so allows Voice Access status such as microphone toggle to be announced while the app is focused.
…rywhere. Re nvaccess#16862, nvaccess#17384. One of the functions of Voice Access is text dictation. In order to do so, a user must focus on a text field and start dictating. Interestingly, this means the user will not focus on Voice Access, causing NVDA to not announce dictated text because the base UIA object implementation stops notification event handling if focused somewhere other than the app the notification is coming from. Therefore, let Voice Access inform NVDA that it will announce display string (including dictated text) from the app module, thereby letting Voice Access notifications come through while using apps in scenarios such as text dictation.
…ccess. Re nvaccess#16862. Allow moues and touch interaction to work in Voice Access interface (window class name: Voice Access).
…on with admin privileges and thus requiring NVDA to be installed. Re nvaccess#16862, nvaccess#17384
seanbudd
reviewed
Jun 25, 2025
seanbudd
reviewed
Jun 25, 2025
seanbudd
reviewed
Jun 25, 2025
Contributor
Author
|
Hi, I think this can be done either at import time (when the app module is imported) or as part of the constructor (__init__). AS noted in the user guide, portable NVDA release can access processes like Voice Access when run as an admin (discouraged), but I agree that we should do an install copy check in the ap module just to make sure. Thanks.
|
Contributor
Author
|
Agreed – Quentin, any thoughts on user guide edits?
|
Contributor
Author
|
Hi, On second thoughts, I think the comment on installed copy requirement can be removed as the app module won't work properly in portable NVDA anyway (this is also the case for Task manager and other apps that require admin privileges for full functionality). But the user guide example should be kept as Voice Access is indeed an app requiring admin rights for full functionality. Thanks. |
…vaccess#16862. Voice Access app module will not work with portable NVDA due to lack of admin rights (UI Access) by default. While the source code comment on instlaled copy requirement is removed, the portable copy restriction will remain in the user guide (so that Voice Access can be used as an example of an app with portable copy restrictions).
…ed. Re nvaccess#16862. Review form Sean Budd (NV Access): check to make sure there is something to say (display string is not None) before invoking ui.message.
Recommended by Sean Budd (NV Access): split examples of apps requiring admin rights onto sublists for readability. That way future user guide edits can add more exmaples in additoin to Windows 11 Voice Access.
seanbudd
reviewed
Jun 25, 2025
seanbudd
approved these changes
Jun 25, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One of the possibilities after #18220 merge:
Link to issue number:
Closes #16862
Closes #17384
Summary of the issue:
NVDA does not support Windows 11 Voice Access features including text dictation announcement from everywhere.
Description of user facing changes:
Introduces support for Windows 11 Voice Access, including text dictation, microphone toggle announcement, and mouse and touch interaction. Requires NVDA to be installed.
Description of developer facing changes:
Added voiceaccess.py app module, based on #18220 work.
Description of development approach:
The new Voice Access app module includes:
Testing strategy:
Manual and requires NVDA to be installed:
Known issues with pull request:
As Voice Access requires admin privileges, this app module will not work on portable and temporary (installer) copies of NVDA. This limitation is documented in the user guide as an example of an app with admin privileges. Further, as dictated text will be announced from everywhere, users should be advised to wear headphones when dictating (for privacy) unless the situation does allow echoing of text to be acceptable.
Code Review Checklist:
@coderabbitai summary