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 9, 2021

On receipt of a FOCUS_CHANGED event from the AX tree, call
IAccessible::accFocus to tell screen readers to move the accessibility
focus to that node. This is in addition to setting the keyboard focus
via the EVENT_OBJECT_FOCUS event.

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.

On receipt of a FOCUS_CHANGED event from the AX tree, call
IAccessible::accFocus to tell screen readers to move the accessibility
focus to that node. This is in addition to setting the keyboard focus
via the EVENT_OBJECT_FOCUS event.

Issue: flutter/flutter#77838
break;
case ui::AXEventGenerator::Event::FOCUS_CHANGED:
DispatchWinAccessibilityEvent(win_delegate, EVENT_OBJECT_FOCUS);
SetFocus(win_delegate);
Copy link
Contributor

Choose a reason for hiding this comment

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

why not just win_delegate->SetFocus()

Copy link
Member Author

Choose a reason for hiding this comment

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

Purely so I can capture the call in the test :(

DispatchWinAccessibilityEvent(win_delegate, EVENT_OBJECT_REORDER);
break;
case ui::AXEventGenerator::Event::FOCUS_CHANGED:
DispatchWinAccessibilityEvent(win_delegate, EVENT_OBJECT_FOCUS);
Copy link
Contributor

Choose a reason for hiding this comment

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

does this line do anything?

Copy link
Member Author

@cbracken cbracken Dec 9, 2021

Choose a reason for hiding this comment

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

Sets the HWND focus.

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 merged commit df21689 into flutter:main Dec 9, 2021
@cbracken cbracken deleted the a11y-focus-windows branch December 9, 2021 23:58
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.

2 participants