Skip to content

NVDAObject.presentationType: groupings with position information but no name and no description should still be treated as content I.e. announced in focus ancestry.#14878

Merged
michaelDCurran merged 5 commits intomasterfrom
announceGroupingsWithPositionInfo
Jun 10, 2023

Conversation

@michaelDCurran
Copy link
Member

Link to issue number:

None

Summary of the issue:

NVDA filteres controls with a role of groupping out of being presented in the focus ancestry if they have no name or description. However, there is a trend with some newer Microsoft products to add position info to these unlabeled groupings (E.g. grouping 1 of 5) and it is requested that NvDA announce these as they provide very deliberate topology to the user.

Description of user facing changes

NVDA will now report unlabeled groupings that have useful position information, such as in recent versions of Microsoft Office 365 menus.

Description of development approach

NVDA.presentationType now treats groupings specifically, only changing them to layout if they have no name, no description, and no position information.

Testing strategy:

  • Open a recent build of Microsoft Word 365.
  • Type a spelling mistake.
  • Open the context menu on the mistake, and arrow up and down the menu. Notice that the suggestions are in "grouping 1 of 2" and the Add to Dictionary and Ignore items are in "grouping 2 of 2".
    Note: Some builds of word 365 have started placing a whatespace character in the nameof unlabeld groupings to force NVDA to get this behaviour without this pr. but this was temporary. thus when testing this, strip whitespace from UIA NVDAObject's name property first.

Known issues with pull request:

Change log entries:

New features
Changes
Bug fixes
NVDA will now report unlabeled groupings that have useful position information, such as in recent versions of Microsoft Office 365 menus.
For Developers

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • Security precautions taken.

…no name and no description should still be treated as content I.e. announced in focus ancestry.
@michaelDCurran michaelDCurran requested a review from a team as a code owner April 27, 2023 20:39
@michaelDCurran michaelDCurran requested a review from seanbudd April 27, 2023 20:39
@AppVeyorBot
Copy link

See test results for failed build of commit 2cbbd1d694

@codeofdusk
Copy link
Contributor

codeofdusk commented May 2, 2023

Note that, when running with this PR, UWP WhatsApp now says "grouping 1 of 5" before the archived chats item and "grouping 2 of 5" before the first chat in the chat list, but there don't appear to be any sane third, fourth, or fifth items.

@michaelDCurran michaelDCurran merged commit bcc7f25 into master Jun 10, 2023
@michaelDCurran michaelDCurran deleted the announceGroupingsWithPositionInfo branch June 10, 2023 00:16
@nvaccessAuto nvaccessAuto added this to the 2023.2 milestone Jun 10, 2023
@rperez030
Copy link

I'm finding that this new way of announcing groupings is significantly slowing down navigation for me, particularly in Office menus. The problem is that, context menus in particular, contain a number of groups that only contain 1 element, so it becomes meaningless. I plan to raise the issue internally at Microsoft, but from the NVDA side, I wonder if the new behavior can be made configurable.

@michaelDCurran
Copy link
Member Author

michaelDCurran commented Jul 27, 2023 via email

@rperez030
Copy link

I don't think having an option would be useful here as I doubt anyone would be motivated enough to turn it on.

Agree. Maybe we can set it to on by default, or we can label it as ignore groups that do not contain name or description so that users can turn it on using app profiles. In other words, set the new behavior as default, but allow users to optout for now. It is a fairly new approach in Office, and it may need some time to stabilize.

michaelDCurran added a commit that referenced this pull request Oct 16, 2023
…ion but no name and no description should still be treated as content I.e. announced in focus ancestry. (#14878)"

This reverts commit bcc7f25.
michaelDCurran added a commit that referenced this pull request Oct 16, 2023
…ion but no name and no description should still be treated as content I.e. announced in focus ancestry. (#14878)" (#15638)

This reverts commit bcc7f25.
Link to issue number:
Reverts pr #14878
Closes #15324
Summary of the issue:
Traditionally, NvDA has only ever announced groupings in the focus ancestry if they have a name or description.
Recently Microsoft had been placing unlabeled groupings within context menus in Office and other places, to denote visual spacing. Microsoft had also recently been exposing position info (x of y) on these groupings.
In order to take advantage of this new info, through suggestion from Microsoft, in pr #14878 NVDA started announcing these unalabeled groupings, if they had position info. the advantage being that the blind user would then have a much better idea of how these context menu items were grouped, and just how many were in each section.
However, it is very clear based on user feedback, that there are way too many small groupings for the extra speech to outway missing info. There are many groupings in these context menus with only 1 or 2 items, greatly slowing down a user's navigation.
Description of user facing changes
NVDA will again no longer report unlabeled gorupings in the focus ancestory.
Description of development approach
Reverts pr #14878.
this pr also tightens up the detection of labels for groupings and similar controls to ignore names and descriptions that only contain whitespace. This is necessary as in some builds of Office, Microsoft also started exposing a space character on the name of unlabeled groupings in order to force screen readers to announce the unlabeled groupings.
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