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