-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flutter views can gain focus #54985
base: main
Are you sure you want to change the base?
Flutter views can gain focus #54985
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR seems correct. What it does is to make the current flutter view focusable (so it can retain the focus if needed), but inaccessible by keyboard. See tabindex
docs.
The only change I want to make is to rename the method a little bit, because all it seems to be doing is to modify the keyboard reachability of the view, but the name is more generic than what it actually does. |
I'm taking a quick stab at attaching the focus handlers to the flutter view root, rather than the body. |
Looks like I broke something in Safari with my latest changes, reviewing: |
lib/web_ui/lib/src/engine/platform_dispatcher/view_focus_binding.dart
Outdated
Show resolved
Hide resolved
lib/web_ui/lib/src/engine/platform_dispatcher/view_focus_binding.dart
Outdated
Show resolved
Hide resolved
@@ -68,28 +68,6 @@ void testMain() { | |||
expect(view2.dom.rootElement.getAttribute('tabindex'), '0'); | |||
}); | |||
|
|||
test('never marks the views as focusable with semantincs enabled', () async { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also add some tests? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, there's tests already (this file is just showing the removed test, but there's others to verify the rest of the functionality!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One last update and applying autosubmit. |
auto label is removed for flutter/engine/54985, due to - The status or check suite Linux mac_android_aot_engine has failed. Please fix the issues identified (or deflake) before re-applying this label. |
I am unsure why the
tabindex
was removed when semantics were enabled. It seems this change was made without a clear explanation (by me). This PR shouldn't cause any issues as Flutter Views already have a tabindex, we're not adding a new one. This change is necessary because the semantics text strategy refocuses the view on deactivation, requiring the Flutter view to be focusable.ThIs PR is a requirement to enable #54966.
flutter/flutter#153022
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.