Map the selectable state for Java Access Bridge#14351
Merged
Merged
Conversation
seanbudd
reviewed
Nov 8, 2022
This reverts commit f2726cc. It is wanted to separate the linting and the fix.
seanbudd
reviewed
Nov 9, 2022
seanbudd
reviewed
Nov 9, 2022
seanbudd
approved these changes
Nov 9, 2022
Member
|
@michaelDCurran what do you think of this change of behaviour? |
michaelDCurran
approved these changes
Nov 10, 2022
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:
Fixes #14336
Summary of the issue:
In Java applications NVDA always announces selected for items which are selected. This can be quite annoying in certain controls such as menus. In these cases it is preferred to announce when something is not selected. The issue is that NVDA was not mapping the selectable state for Java Access Bridge. With this fix Java controls which have the selectable state will now only announce when something is not selected.
Description of user facing changes
For selectable controls in Java applications using the Java Access Bridge the user will now notice NVDA does not announce if something is selected, rather it will only announce when something is not selected.
Description of development approach
After discussing how to reduce the selected announcement verbosity in the associated issue, I decided to check what states were being exposed in other applications where it would announce items as "not selected". When reviewing the logs it appeared that the common factor is these controls had the selectable state. I am aware that Java Access Bridge exposes a selectable state. Upon inspecting the NVDA code for mapping Java Access Bridge objects to NVDA objects, I could not find any mapping for the selectable state. So I added the mapping and tested whether this fixed the issue.
Testing strategy:
Manual testing using the Java demo application swingset2. Checked both controls which have the selectable state and those which can be selected but do not expose the selectable state through the Java Access Bridge.
Known issues with pull request:
None.
Change log entries:
New features
Changes
Bug fixes
Java applications with controls using the selectable state will now announce when an item is not selected rather than when the item is selected.
For Developers
Code Review Checklist: