diff --git a/bridge/tests/src/com/android/tools/idea/validator/AccessibilityValidatorTests.java b/bridge/tests/src/com/android/tools/idea/validator/AccessibilityValidatorTests.java
index 1359f29..56d89a3 100644
--- a/bridge/tests/src/com/android/tools/idea/validator/AccessibilityValidatorTests.java
+++ b/bridge/tests/src/com/android/tools/idea/validator/AccessibilityValidatorTests.java
@@ -153,7 +153,7 @@
             ExpectedLevels expectedLevels = new ExpectedLevels();
             expectedLevels.expectedVerboses = 1;
             expectedLevels.expectedErrors = 1;
-            expectedLevels.expectedFixes = 0;
+            expectedLevels.expectedFixes = 1;
             expectedLevels.check(speakableCheck);
 
             // Make sure no other errors in the system.
diff --git a/bridge/tests/src/com/android/tools/idea/validator/LayoutValidatorTests.java b/bridge/tests/src/com/android/tools/idea/validator/LayoutValidatorTests.java
index 659beed..723a2c0 100644
--- a/bridge/tests/src/com/android/tools/idea/validator/LayoutValidatorTests.java
+++ b/bridge/tests/src/com/android/tools/idea/validator/LayoutValidatorTests.java
@@ -99,7 +99,10 @@
             assertEquals("https://support.google.com/accessibility/android/answer/7158690",
                          first.mHelpfulUrl);
             assertEquals("SpeakableTextPresentCheck", first.mSourceClass);
-            assertEquals(first.mFix, null);
+            assertTrue(first.mFix instanceof SetViewAttributeFix);
+            assertEquals("Set this item's android:contentDescription to a meaningful" +
+                            " non-empty string or resource reference.",
+                    first.mFix.getDescription());
 
             Issue second = errorIssues.get(1);
             CompoundFix compoundFix = (CompoundFix) second.mFix;
diff --git a/validator/src/com/android/tools/idea/validator/ValidatorUtil.java b/validator/src/com/android/tools/idea/validator/ValidatorUtil.java
index bdd363f..1d8dfb7 100644
--- a/validator/src/com/android/tools/idea/validator/ValidatorUtil.java
+++ b/validator/src/com/android/tools/idea/validator/ValidatorUtil.java
@@ -49,6 +49,7 @@
 import com.google.android.apps.common.testing.accessibility.framework.AccessibilityHierarchyCheckResult;
 import com.google.android.apps.common.testing.accessibility.framework.Parameters;
 import com.google.android.apps.common.testing.accessibility.framework.checks.EditableContentDescCheck;
+import com.google.android.apps.common.testing.accessibility.framework.checks.SpeakableTextPresentCheck;
 import com.google.android.apps.common.testing.accessibility.framework.checks.TextContrastCheck;
 import com.google.android.apps.common.testing.accessibility.framework.checks.TouchTargetSizeCheck;
 import com.google.android.apps.common.testing.accessibility.framework.strings.StringManager;
@@ -93,10 +94,10 @@
      * a predefined set of {@link AccessibilityHierarchyCheck}s.
      */
     private final static ImmutableSet<Class<? extends AccessibilityHierarchyCheck>>
-            sAllowedCheckResultClassSet4Fix = ImmutableSet.of(TextContrastCheck.class,
-            TouchTargetSizeCheck.class,  EditableContentDescCheck.class);
+            sAllowedCheckResultClassSet4Fix = ImmutableSet.of(SpeakableTextPresentCheck.class,
+            TextContrastCheck.class, TouchTargetSizeCheck.class,  EditableContentDescCheck.class);
 
-    /**s
+    /**
      * @param policy policy to apply for the hierarchy
      * @param view root view to build hierarchy from
      * @param image screenshot image that matches the view
