Skip to content
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

Start menu suggestions: announce result details #10340

Merged

Conversation

@josephsl
Copy link
Collaborator

commented Oct 6, 2019

Hi,

First of a series of pull requests on updating Start menu support routines:

Link to issue number:

Fixes #10329

Summary of the issue:

Details for search results are not announced like in the past.

Description of how this pull request fixes the issue:

Due to restructured UIA tree for Start menu (applicable in Version 1607/Anniversary Update with updated Windows Search design), search results are housed inside search categories, with categories themselves reported as suggestions list items. Therefore recognize result entries as seen in newer Windows Search experience.

Testing performed:

Tested via Windows 10 App Essentials on Version 1607 and later (no need to look into 1507 and 1511 because they retain the original Windows 10 Start menu experience).

Known issues with pull request:

Results will be announced twice due to caret movement script (see #10336 and a follow-up PR for a fix).

Change log entry:

Bug fixes:

In Start menu for Windows 10 Anniversary Update and later, NVDA will announce details of search results. (#10232

josephsl added 3 commits Oct 6, 2019
…es with redesigned Windows Search. Re #10329.

In 2019, Windows Search has been redesigned. Although the new UI appeared in Version 1903 (May 2019 Update), it was made available to older Windows 10 releases with a server-side update. Compared to old UI, suggestions are grouped by categories - instead of all results grouped under a single list, results list is now populated with search categories, with each category in turn hosting a list of results. This latter control isn't recognized as suggestions list, leading to NVDA not announcing item detalis as it used to.
Therefore recognize the new UI and recognize actual results so NVDA can announce result details. This results in repetitions, which will be corrected with a accompanying work dealing with search field caret event changes.
@michaelDCurran

This comment has been minimized.

Copy link
Contributor

commented Oct 7, 2019

In 18995, It looks as though the suggestions in each category are housed in an unlabeled list item which is a sibling to the category listItem itself. I.e. If I type "word" There is a "find results in apps" listItem, and its next sibling is an unlabeled listItem, which contains "Microsoft Word Mobile" "Microsoft Word 2007" etc.
Neither these suggestions nor the unlabelled listItem have a useful automationID or className.
Is this also what you are seeing?
In short, this pr does not seem to make anydifference for me on this build of Windows.

@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Oct 7, 2019

@@ -25,3 +29,7 @@ def chooseNVDAObjectOverlayClasses(self,obj,clsList):
elif isinstance(obj, UIA):
if obj.UIAElement.cachedAutomationID == "SearchTextBox":
clsList.insert(0, StartMenuSearchField)
# #10329: Since 2019, some suggestion items are grouped inside another suggestions list item.
# Because of this, result details will not be announced like in the past.
elif obj.role == controlTypes.ROLE_LISTITEM and isinstance(obj.parent, SuggestionListItem):

This comment has been minimized.

Copy link
@leonardder

leonardder Oct 8, 2019

Collaborator

Wouldn't it be possible to add this extra check to the findOverlayClasses function in NVDAObjects.UIA? I have the feelling that current code scatters the places where SuggestionListItem is added as an overlay.

@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Oct 8, 2019

Hi,

Ah, I see what's up: executable has been renamed, that's why you are not seeing changes. I'll file a PR that'll support this PR and a host of Windows Search PR's (I should have done that before doing this PR series)...

Thanks.

@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Oct 8, 2019

@leonardder

This comment has been minimized.

Copy link
Collaborator

commented Oct 8, 2019

@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Oct 8, 2019

josephsl added 2 commits Oct 8, 2019
…due to UI redesign.

Commented by Leonard de Ruijter (Babbage): because not all suggestions list items are not part of results list (some are inside another item such as results from Windows Search in 2019 due to UI changes), document this fact for clarity.
@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Oct 9, 2019

Hi,

To @michaelDCurran - can you try testing the PR with latest commit which adds searchapp app module for 20H1?

Thanks.

@michaelDCurran

This comment has been minimized.

Copy link
Contributor

commented Oct 9, 2019

@josephsl Yes, this is now working great on 18995 :)

@josephsl josephsl requested a review from michaelDCurran Oct 9, 2019
@michaelDCurran michaelDCurran merged commit d3adf2f into nvaccess:master Oct 9, 2019
1 check passed
1 check passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Oct 9, 2019
michaelDCurran added a commit that referenced this pull request Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.