Added an option to automatically read the entire result after a successful recognition#19150
Merged
Merged
Conversation
…ssful recognition.
SaschaCowley
approved these changes
Oct 31, 2025
Qchristensen
approved these changes
Oct 31, 2025
Qchristensen
left a comment
Member
There was a problem hiding this comment.
Looks good and will be a useful feature.
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.
Link to issue number:
Resolves #19144
Summary of the issue:
After performing an OCR, users must manually initiate a "say all" command to hear the full recognition result. For users who frequently perform OCR on large blocks of text, this requires an extra step each time, slowing down their workflow.
Description of user facing changes:
Description of developer facing changes:
autoSayAllOnResult(boolean, defaultFalse) under the[uwpOcr]section inconfigSpec.py.Description of development approach:
To ensure "say all" is triggered only after the recognition result document has focus, a flag (
_shouldSayAllOnFirstFocus) is set when the result is first received in_onFirstResult. The actualsayAllcommand (sayAll.SayAllHandler.readText(sayAll.CURSOR.CARET)) is then called from theevent_gainFocushandler of theRefreshableRecogResultNVDAObject.Testing strategy:
Manually tested by:
NVDA+r). Verified that "say all" begins automatically.Known issues with pull request:
The options in Windows OCR do not appear to follow profile switching, which seems to be a general issue and not specific to this change.
Code Review Checklist: