Skip to content

Respect UIA Notification processing flag #9466

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

Merged
merged 1 commit into from
Apr 12, 2019
Merged

Respect UIA Notification processing flag #9466

merged 1 commit into from
Apr 12, 2019

Conversation

LeonarddeR
Copy link
Collaborator

Link to issue number:

None

Summary of the issue:

IN the Windows 10 may 2019 update, Microsoft decided to announce volume changes using UIA notifications. This means that these volume notifications are announced when the keyboard focus is in Explorer. However, due to the way NVDA handled UIA notifications before this pr, these volume change notifications were queued one after another, resulting into lots of notifications being announced, including duplicates.

Description of how this pull request fixes the issue:

UIA notifications have a notificationProcessing parameter. When this parameter is set to one of the most recent NotificationProcessing constants, speech is cancelled before announcing the new notification.

Testing performed:

Tested witth volume changes in Windows 10 1903. Only the last notification is now spoken.

Known issues with pull request:

None

Change log entry:

  • Bug fixes
    • IN the Windows 10 May 2019 update, NVDA no longer speaks many volume notifications if changing the volume with hardware buttons when Windows Explorer has focus.

@josephsl
Copy link
Collaborator

josephsl commented Apr 9, 2019

Hi,

Note that in order to properly test this, a binary version must be built.

Thanks.

@LeonarddeR
Copy link
Collaborator Author

LeonarddeR commented Apr 9, 2019 via email

@josephsl
Copy link
Collaborator

josephsl commented Apr 9, 2019 via email

@LeonarddeR
Copy link
Collaborator Author

LeonarddeR commented Apr 9, 2019 via email

@LeonarddeR LeonarddeR requested review from feerrenrut and removed request for michaelDCurran April 12, 2019 08:09
Copy link
Contributor

@feerrenrut feerrenrut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I think it will be important to look for regressions in older versions of windows, and earlier windows 10 builds. Can you watch for this?

@feerrenrut feerrenrut merged commit a1e59aa into nvaccess:master Apr 12, 2019
@nvaccessAuto nvaccessAuto added this to the 2019.2 milestone Apr 12, 2019
feerrenrut added a commit that referenced this pull request Apr 12, 2019
In the Windows 10 May 2019 update, NVDA no longer speaks many volume notifications if changing the volume with hardware buttons when Windows Explorer has focus. (#9466)
@LeonarddeR
Copy link
Collaborator Author

I think we should only watch for possible regressions from WINDOWS 10 FCU and above. Older versions don't implement this.

@vgjh2005
Copy link

NVDA is broken by obturating notion.

@@ -1469,6 +1469,10 @@ def event_UIA_notification(self, notificationKind=None, notificationProcessing=N
if self.appModule != api.getFocusObject().appModule:
return
if displayString:
if notificationProcessing in (UIAHandler.NotificationProcessing_ImportantMostRecent, UIAHandler.NotificationProcessing_MostRecent):
# These notifications superseed earlier notifications.
# Note that no distinction is made between important and non-important.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the merging of #7599 we should now be able to distinguish between important and non-important notifications (possibly with speech priorities) instead of cancelling speech outright. Is this worth doing?

@josephsl
Copy link
Collaborator

josephsl commented Mar 25, 2020 via email

@codeofdusk
Copy link
Contributor

Consider a real-time notification that’s being announced, then preempted by a more important notification. Once the latter finishes, the old notification announcement resumes, and this may contain information that is actually outdated (at least based on brief testing I did with priorities).

Maybe fixable with cancellable speech? Or is this actually intended behaviour?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants