diff --git a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
index 4e89353..4e7a0c4 100644
--- a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
+++ b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
@@ -34,7 +34,7 @@
 
 public final class DigitalWellBeingToast extends LinearLayout {
     public interface InitializeCallback {
-        void call(long t, boolean b);
+        void call(long remainingTimeMs, boolean isGroupLimit, String contentDescription);
     }
 
     private static final String TAG = DigitalWellBeingToast.class.getSimpleName();
@@ -66,7 +66,10 @@
             final boolean isGroupLimit = true;
             post(() -> {
                 setRemainingTime(appRemainingTimeMs, isGroupLimit);
-                callback.call(appRemainingTimeMs, isGroupLimit);
+                callback.call(
+                        appRemainingTimeMs,
+                        isGroupLimit,
+                        getContentDescriptionForTask(task, appRemainingTimeMs, isGroupLimit));
             });
         });
     }
@@ -94,4 +97,14 @@
                     + mTask.getTopComponent().getPackageName(), e);
         }
     }
+
+    private String getContentDescriptionForTask(
+            Task task, long appRemainingTimeMs, boolean isGroupLimit) {
+        return appRemainingTimeMs > 0 ?
+                getResources().getString(
+                        R.string.task_contents_description_with_remaining_time,
+                        task.titleDescription,
+                        getText(appRemainingTimeMs, isGroupLimit)) :
+                task.titleDescription;
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index a6a3b85..9b26d08 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -268,14 +268,9 @@
                         setIcon(task.icon);
                         mDigitalWellBeingToast.initialize(
                                 mTask,
-                                (appRemainingTimeMs, isGroupLimit) -> {
+                                (appRemainingTimeMs, isGroupLimit, contentDescription) -> {
                                     mAppRemainingTimeMs = appRemainingTimeMs;
-                                    setContentDescription(
-                                            hasRemainingTime() ?
-                                                    task.titleDescription + ". "
-                                                            + DigitalWellBeingToast.getText(
-                                                            appRemainingTimeMs, isGroupLimit) :
-                                                    task.titleDescription);
+                                    setContentDescription(contentDescription);
                                 });
                     });
         } else {
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7e5784d..fb6eb43 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -350,4 +350,6 @@
 
     <!-- Failed action error message: e.g. Failed: Pause -->
     <string name="remote_action_failed">Failed: <xliff:g id="what" example="Pause">%1$s</xliff:g></string>
+
+    <string name="task_contents_description_with_remaining_time" translatable="false"><xliff:g id="task_description" example="GMail">%1$s</xliff:g>, <xliff:g id="remaining_time" example="7 minutes">%2$s</xliff:g></string>
 </resources>
