diff --git a/quickstep/src/com/android/quickstep/RecentsModel.java b/quickstep/src/com/android/quickstep/RecentsModel.java
index 392b73f..1e43202 100644
--- a/quickstep/src/com/android/quickstep/RecentsModel.java
+++ b/quickstep/src/com/android/quickstep/RecentsModel.java
@@ -30,6 +30,7 @@
 import android.support.annotation.WorkerThread;
 import android.util.LruCache;
 import android.util.SparseArray;
+import android.view.accessibility.AccessibilityManager;
 
 import com.android.launcher3.MainThreadExecutor;
 import com.android.launcher3.R;
@@ -85,6 +86,7 @@
     private ISystemUiProxy mSystemUiProxy;
     private boolean mClearAssistCacheOnStackChange = true;
     private final boolean mPreloadTasksInBackground;
+    private final AccessibilityManager mAccessibilityManager;
 
     private RecentsModel(Context context) {
         mContext = context;
@@ -111,6 +113,7 @@
 
         mTaskChangeId = 1;
         loadTasks(-1, null);
+        mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
     }
 
     public RecentsTaskLoader getRecentsTaskLoader() {
@@ -140,7 +143,7 @@
             // Preload the plan
             RecentsTaskLoadPlan loadPlan = new RecentsTaskLoadPlan(mContext);
             PreloadOptions opts = new PreloadOptions();
-            opts.loadTitles = false;
+            opts.loadTitles = mAccessibilityManager.isEnabled();
             loadPlan.preloadPlan(opts, mRecentsTaskLoader, taskId, UserHandle.myUserId());
             // Set the load plan on UI thread
             mMainThreadExecutor.execute(() -> {
@@ -187,7 +190,7 @@
         launchOpts.onlyLoadPausedActivities = true;
         launchOpts.loadThumbnails = true;
         PreloadOptions preloadOpts = new PreloadOptions();
-        preloadOpts.loadTitles = false;
+        preloadOpts.loadTitles = mAccessibilityManager.isEnabled();
         plan.preloadPlan(preloadOpts, mRecentsTaskLoader, -1, userId);
         mRecentsTaskLoader.loadTasks(plan, launchOpts);
     }
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index 8dea603..9884a48 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -96,6 +96,7 @@
         mTask = task;
         mSnapshotView.bind();
         task.addCallback(this);
+        setContentDescription(task.titleDescription);
     }
 
     public Task getTask() {
