diff --git a/src/com/android/settings/widget/MasterSwitchPreference.java b/src/com/android/settings/widget/MasterSwitchPreference.java index 002cb77762e..29bc17bce5a 100644 --- a/src/com/android/settings/widget/MasterSwitchPreference.java +++ b/src/com/android/settings/widget/MasterSwitchPreference.java @@ -83,6 +83,7 @@ public class MasterSwitchPreference extends TwoTargetPreference { mSwitch = (Switch) holder.findViewById(R.id.switchWidget); if (mSwitch != null) { + mSwitch.setContentDescription(getTitle()); mSwitch.setChecked(mChecked); mSwitch.setEnabled(mEnableSwitch); } diff --git a/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java index 3747dda0525..21dc0384463 100644 --- a/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java @@ -183,4 +183,19 @@ public class MasterSwitchPreferenceTest { preference.setDisabledByAdmin(null); assertThat(toggle.isEnabled()).isTrue(); } + + @Test + public void onBindViewHolder_toggleButtonShouldHaveContentDescription() { + final MasterSwitchPreference preference = new MasterSwitchPreference(mContext); + final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( + LayoutInflater.from(mContext) + .inflate(R.layout.preference_widget_master_switch, null)); + final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget); + final String label = "TestButton"; + preference.setTitle(label); + + preference.onBindViewHolder(holder); + + assertThat(toggle.getContentDescription()).isEqualTo(label); + } }