From 74fd7af92dd493f76a1800aba0fe1548dd570391 Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Wed, 8 Dec 2021 10:43:48 +0000 Subject: [PATCH] Add content descriptions to task bar nav buttons Fixes: 209608812 Test: manual Change-Id: Iba50abfb2a3d33104b6d88574df0bc7b5daf1d3a --- quickstep/res/values/strings.xml | 10 ++++++++++ .../taskbar/NavbarButtonsViewController.java | 2 ++ .../taskbar/TaskbarNavButtonController.java | 19 +++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/quickstep/res/values/strings.xml b/quickstep/res/values/strings.xml index fce49ddf0a..59997e99b6 100644 --- a/quickstep/res/values/strings.xml +++ b/quickstep/res/values/strings.xml @@ -233,6 +233,16 @@ Close Done + + Home + + Accessibility + + Back + + IME switcher + + Recents Move to top/left diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index ce1e8b6b6e..64769e2b3a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -433,6 +433,8 @@ public class NavbarButtonsViewController { @LayoutRes int layoutId) { ImageView buttonView = addButton(parent, id, layoutId); buttonView.setImageResource(drawableId); + buttonView.setContentDescription(parent.getContext().getString( + navButtonController.getButtonContentDescription(buttonType))); buttonView.setOnClickListener(view -> navButtonController.onButtonClick(buttonType)); buttonView.setOnLongClickListener(view -> navButtonController.onButtonLongClick(buttonType)); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index d23336505a..54893ae764 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -25,7 +25,9 @@ import android.os.Bundle; import android.os.Handler; import androidx.annotation.IntDef; +import androidx.annotation.StringRes; +import com.android.launcher3.R; import com.android.launcher3.testing.TestLogging; import com.android.launcher3.testing.TestProtocol; import com.android.quickstep.OverviewCommandHelper; @@ -120,6 +122,23 @@ public class TaskbarNavButtonController { } } + public @StringRes int getButtonContentDescription(@TaskbarButton int buttonType) { + switch (buttonType) { + case BUTTON_HOME: + return R.string.taskbar_button_home; + case BUTTON_A11Y: + return R.string.taskbar_button_a11y; + case BUTTON_BACK: + return R.string.taskbar_button_back; + case BUTTON_IME_SWITCH: + return R.string.taskbar_button_ime_switcher; + case BUTTON_RECENTS: + return R.string.taskbar_button_recents; + default: + return 0; + } + } + /** * Checks if the user has long pressed back and recents buttons * "together" (within {@link #SCREEN_PIN_LONG_PRESS_THRESHOLD})ms