Skip to content

Respect UIA Notification processing flag#9466

Merged
feerrenrut merged 1 commit into
nvaccess:masterfrom
BabbageCom:UIANotificationLag
Apr 12, 2019
Merged

Respect UIA Notification processing flag#9466
feerrenrut merged 1 commit into
nvaccess:masterfrom
BabbageCom:UIANotificationLag

Conversation

@LeonarddeR

Copy link
Copy Markdown
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

josephsl commented Apr 9, 2019

Copy link
Copy Markdown
Contributor

Hi,

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

Thanks.

@LeonarddeR

LeonarddeR commented Apr 9, 2019 via email

Copy link
Copy Markdown
Collaborator Author

@josephsl

josephsl commented Apr 9, 2019 via email

Copy link
Copy Markdown
Contributor

@LeonarddeR

LeonarddeR commented Apr 9, 2019 via email

Copy link
Copy Markdown
Collaborator Author

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

@feerrenrut feerrenrut left a comment

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown

NVDA is broken by obturating notion.

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
Copy Markdown
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

josephsl commented Mar 25, 2020 via email

Copy link
Copy Markdown
Contributor

@codeofdusk

Copy link
Copy Markdown
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