From 53df240e3d4967e8ff6cb7f74a767ae800bb79ab Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Thu, 1 Jun 2023 12:31:13 -0700 Subject: [PATCH] Add request for a11y focus for item In fullscreen user switcher, when we select add, the first item on the list is not focused in talkback. Upon inflation, we add a 200ms delayed a11y request. Fixes: 273874539 Test: enable talkback, go to fullscreen user switcher and go to add. The first item "Add User" is highlighted and announced. Change-Id: I919160ed0a03f100d1382b1da76ca2e8c2658fcb --- .../systemui/user/ui/binder/UserSwitcherViewBinder.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/user/ui/binder/UserSwitcherViewBinder.kt b/packages/SystemUI/src/com/android/systemui/user/ui/binder/UserSwitcherViewBinder.kt index 7236e0fd134af..59f2cdb745cad 100644 --- a/packages/SystemUI/src/com/android/systemui/user/ui/binder/UserSwitcherViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/user/ui/binder/UserSwitcherViewBinder.kt @@ -224,7 +224,7 @@ object UserSwitcherViewBinder { } sectionView.removeAllViewsInLayout() - for (viewModel in section) { + section.onEachIndexed { index, viewModel -> val view = layoutInflater.inflate( R.layout.user_switcher_fullscreen_popup_item, @@ -237,6 +237,13 @@ object UserSwitcherViewBinder { view.resources.getString(viewModel.textResourceId) view.setOnClickListener { viewModel.onClicked() } sectionView.addView(view) + // Ensure that the first item in the first section gets accessibility focus. + // Request for focus with a delay when view is inflated an added to the listview. + if (index == 0 && position == 0) { + view.postDelayed({ + view.requestAccessibilityFocus() + }, 200) + } } return sectionView }