Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@cbracken
Copy link
Member

@cbracken cbracken commented Dec 7, 2021

Implements OnAccessibilityEvent, which translates events from the AXTree
into Windows MSAA event notifications.

This also eliminates the UIA root object lookup in response to
WM_GETOBJECT, since our initial implementation, like Chromium's default
implementation, is based on MSAA.

Issue: flutter/flutter#77838

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See testing the engine for instructions on
    writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the CLA.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Copy link
Contributor

@gspencergoog gspencergoog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

32384589-a60f0e74-c078-11e7-9bc1-e5b5287aea9d


void FlutterPlatformNodeDelegateWin32::DispatchWinAccessibilityEvent(
DWORD event_type) {
FlutterWindowsView* view = engine_->view();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be auto.

Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cbracken cbracken changed the title Win32: Handle accessibility events/actions Win32: Handle OnAccessibilityEvent Dec 7, 2021
Implements OnAccessibilityEvent, which translates events from the AXTree
into Windows MSAA event notifications.

This also eliminates the UIA root object lookup in response to
WM_GETOBJECT, since our initial implementation, like Chromium's default
implementation, is based on MSAA.

Issue: flutter/flutter#77838
@chinmaygarde
Copy link
Member

@cbracken May I land this?

@cbracken
Copy link
Member Author

cbracken commented Dec 9, 2021

Still doing a tiny bit of testing to see if I can tweak the focus handling, but I'll land this today.

@chinmaygarde
Copy link
Member

Cool. Glad I asked. The green merge button was looking very enticing.

@cbracken cbracken merged commit 5312e55 into flutter:main Dec 9, 2021
@cbracken cbracken deleted the a11y-events-windows branch December 9, 2021 22:38
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 10, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 10, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 10, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 10, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 10, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 12, 2021
zanderso pushed a commit to flutter/flutter that referenced this pull request Dec 12, 2021
* 37223ca [fuchsia] Use network-legacy-deprecated pkg in embedder test (flutter/engine#30244)

* 86769ee Roll Dart SDK from 2ace65b1b408 to 2091ff49c513 (8 revisions) (flutter/engine#30251)

* 5312e55 Win32: Handle OnAccessibilityEvent (flutter/engine#30176)

* 8fd8912 Revert the latest rolls of the Fuchsia SDK (flutter/engine#30254)

* df21689 Call IAccessible::accFocus to move a11y focus (flutter/engine#30256)

* 6aa8d5c Simplify win32 platform node delegate GetParent (flutter/engine#30258)

* ff328f0 Fix TestAccessibilityBridgeDelegate event caching (flutter/engine#30260)

* 842281e Test shell/platform/common a11y code on Windows (flutter/engine#30262)

* 806d8bc Roll Dart SDK from 2091ff49c513 to 7b6056f9db7f (1 revision) (flutter/engine#30259)

* 1ed10bb Android accessibility bridge also fire selection change event when it predict selection change. (flutter/engine#30199)

* 71fdb89 Override FlutterPlatformNodeDelegate::GetUniqueId (flutter/engine#30261)

* 5aa7b30 Cleanup old ndk CIPD upload script (flutter/engine#30253)

* 3653881 Roll Fuchsia Mac SDK from EcjcLVqar... to 1DgBWWOWV... (flutter/engine#30265)

* f764864 Roll Skia from 44c81d149273 to a964a72174e8 (9 revisions) (flutter/engine#30255)

* 2eca05e Migrate to Mockito 4.1.0 (flutter/engine#30257)

* 1a6005f Add iOS version to scenario golden images (flutter/engine#30263)

* 59c6f28 Roll Fuchsia Linux SDK from 3rLypXNTd... to UPWdoQziF... (flutter/engine#30266)

* 5502a0a Fix eglPresentationTimeANDROID is no effective (flutter/engine#30182)

* bb20dd0 Roll Skia from a964a72174e8 to 4d35c0d31d79 (16 revisions) (flutter/engine#30269)

* 33f4c32 Revert "Accessibility number formatting improvements for Windows (#29773)" (flutter/engine#30267)

* 5ece42f Roll Dart SDK from 7b6056f9db7f to f568598a262e (4 revisions) (flutter/engine#30270)

* 8d1272b Roll Dart SDK from f568598a262e to 49d5a2f58c4a (3 revisions) (flutter/engine#30277)

* 8b074c8 Roll Fuchsia Mac SDK from 1DgBWWOWV... to GoQ7KEnqp... (flutter/engine#30278)

* e1a71cf Roll Fuchsia Linux SDK from UPWdoQziF... to hhFGKobVD... (flutter/engine#30279)

* 6dc4046 Roll Fuchsia Mac SDK from GoQ7KEnqp... to Y_9lCzY64... (flutter/engine#30280)

* ff7d4d6 Roll Fuchsia Linux SDK from hhFGKobVD... to NAkkk-Vn5... (flutter/engine#30281)

* 2f97ac4 Roll Dart SDK from 49d5a2f58c4a to 01a9d4e9ede7 (1 revision) (flutter/engine#30283)

* 85f4d68 Roll Fuchsia Linux SDK from NAkkk-Vn5... to V2JLZw4H1... (flutter/engine#30285)

* 5130b83 Roll Fuchsia Mac SDK from Y_9lCzY64... to xBCcWw6gj... (flutter/engine#30284)

* e28882a Roll Dart SDK from 01a9d4e9ede7 to a78eae43582d (1 revision) (flutter/engine#30288)

* 368e3cc Revert Dart SDK to 2ace65b1b408 (flutter/engine#30290)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants