diff --git a/res/values/strings.xml b/res/values/strings.xml
index 82a9347..319aa0a 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -60,6 +60,12 @@
     <!-- Content description indicating that the selected option is currently applied to the device. [CHAR_LIMIT=NONE] -->
     <string name="option_applied_description"><xliff:g name="style_name">%1$s</xliff:g>, currently applied</string>
 
+    <!-- Content description indicating that the selected option is currently applied and previewed. [CHAR_LIMIT=NONE] -->
+    <string name="option_applied_previewed_description"><xliff:g name="style_name">%1$s</xliff:g>, currently applied and previewed</string>
+
+    <!-- Content description indicating that the selected option is currently being previewed. [CHAR_LIMIT=NONE] -->
+    <string name="option_previewed_description"><xliff:g name="style_name">%1$s</xliff:g>, currently previewed</string>
+
     <!-- Sample text used to show a preview of a selected font [CHAR LIMIT=3] -->
     <string name="theme_font_example">ABC</string>
 
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index 5e4a30a..9725995 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -122,6 +122,28 @@
         RecyclerView.ViewHolder holder = mContainer.findViewHolderForAdapterPosition(index);
         if (holder != null && holder.itemView != null) {
             holder.itemView.setActivated(isActivated);
+
+            if (holder instanceof TileViewHolder) {
+                TileViewHolder tileHolder = (TileViewHolder) holder;
+                if (isActivated) {
+                    if (option == mAppliedOption) {
+                        CharSequence cd = mContainer.getContext().getString(
+                                R.string.option_applied_previewed_description, option.getTitle());
+                        tileHolder.labelView.setContentDescription(cd);
+                    } else {
+                        CharSequence cd = mContainer.getContext().getString(
+                                R.string.option_previewed_description, option.getTitle());
+                        tileHolder.labelView.setContentDescription(cd);
+                    }
+                } else if (option == mAppliedOption) {
+                    CharSequence cd = mContainer.getContext().getString(
+                            R.string.option_applied_description, option.getTitle());
+                    tileHolder.labelView.setContentDescription(cd);
+                } else {
+                    // Remove content description
+                    tileHolder.labelView.setContentDescription(null);
+                }
+            }
         }
     }
 
@@ -179,10 +201,10 @@
                     checkedFrame.setLayerInsetLeft(idx, checkSize/3);
                     holder.itemView.setForeground(checkedFrame);
 
+                    // Initialize the currently applied option
                     CharSequence cd = mContainer.getContext().getString(
-                            R.string.option_applied_description, option.getTitle());
+                            R.string.option_applied_previewed_description, option.getTitle());
                     holder.labelView.setContentDescription(cd);
-
                 } else if (mShowCheckmark) {
                     holder.itemView.setForeground(null);
                 }
