UIA handler: add and map drag cancel and complete events to state change event#14104
Merged
Merged
Conversation
…nge events. Re nvaccess#14081. Without defining UIA drag cancel and complete events, NVDA will not nanounce 'dragging' when dragging the selected item a second time (the added events do allow flushing staes cache as part of state change event, although NVDA will not nanounce 'done dragging' which is somethig to be investigated in the future).
Member
|
Can the change in this PR be integrated into the system test created for #14101 ? |
Contributor
Author
|
Hi, not easily I think as there is no feedback from NVDA when drag cancel/complete events fire, although I think it might be possible to detect state changes. I think it would be best to come up with a separate PR just for drag and drop system tests as it then would allow folks to define a basic set of tests that can work and be tested across accessibility API’s. Thanks.
|
seanbudd
approved these changes
Sep 5, 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:
Additional fix for #14081
Follow-up to #14097
Summary of the issue:
NVDA is not announcing "dragging' when the item being dragged is let go and dragged again.
Description of user facing changes
When the item is grabbed a second tie, NVDA will announce 'dragging'.
Description of development approach
Add and map UIA drag cancel and complete events to state changes. This allows UIA object states cache to reflect the fact that "is grabbed" property is False, allowing NVDA to announce "dragging" when the item is grabbed again. At the moment NVDA will not say "done dragging" when drag complete event fires - that might be something to investigate in the future (remapping drag cancel/commplete events or doing soething with state change event/speech output).
Testing strategy:
Manual and add-on based testing:
Before the PR: NVDA does not say "dragging" when the same item is dragged a second time.
After the PR: NVDA says "dragging" when drag and drop happens a second time.
In the future (perhaps by someone else): NVDA says "done dragging" when UIA drag complete event fires, hopefully with improved object states announcement logic unless event remapping is desirable.
Known issues with pull request:
None
Change log entries:
None needed as this is a follow-up fix for #14081.
Code Review Checklist: