summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author David Liu <dswliu@google.com> 2024-09-23 22:28:30 +0000
committer David Liu <dswliu@google.com> 2024-09-25 15:45:33 +0000
commita4c8fb2474dbf3a694786454a0efded9e4ca95fa (patch)
treed9e300ecb9116e87b04d00d1aab9f2bda0acc199
parent8ae19c7249ff1bcedd6c0006d95fc2cc92c91c6e (diff)
[Expressive design] ActionButtonPreference: improve a11y talkback
- make TB navigate the action button layout (not button and textview separately) - use textview content for TB Bug: 367534605 Test: manual Flag: EXEMPT resource only update Change-Id: Ic63c0a1141c71465367dccae71d00592f4d4ffc7
-rw-r--r--packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml24
-rw-r--r--packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java10
2 files changed, 22 insertions, 12 deletions
diff --git a/packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml b/packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml
index fc63c0f9ab93..3e73ebd4880e 100644
--- a/packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml
+++ b/packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml
@@ -35,11 +35,13 @@
style="@style/SettingsLibActionButton.Expressive"
android:layout_width="@dimen/settingslib_expressive_space_large3"
android:layout_height="@dimen/settingslib_expressive_space_medium5"
- android:layout_gravity="center_horizontal" />
+ android:layout_gravity="center_horizontal"
+ android:importantForAccessibility="no"/>
<TextView
android:id="@+id/text1"
style="@style/SettingsLibActionButton.Expressive.Label"
- android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"/>
+ android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"
+ android:importantForAccessibility="no"/>
</LinearLayout>
@@ -55,11 +57,13 @@
style="@style/SettingsLibActionButton.Expressive"
android:layout_width="@dimen/settingslib_expressive_space_large3"
android:layout_height="@dimen/settingslib_expressive_space_medium5"
- android:layout_gravity="center_horizontal" />
+ android:layout_gravity="center_horizontal"
+ android:importantForAccessibility="no"/>
<TextView
android:id="@+id/text2"
style="@style/SettingsLibActionButton.Expressive.Label"
- android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"/>
+ android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"
+ android:importantForAccessibility="no"/>
</LinearLayout>
@@ -75,11 +79,13 @@
style="@style/SettingsLibActionButton.Expressive"
android:layout_width="@dimen/settingslib_expressive_space_large3"
android:layout_height="@dimen/settingslib_expressive_space_medium5"
- android:layout_gravity="center_horizontal" />
+ android:layout_gravity="center_horizontal"
+ android:importantForAccessibility="no"/>
<TextView
android:id="@+id/text3"
style="@style/SettingsLibActionButton.Expressive.Label"
- android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"/>
+ android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"
+ android:importantForAccessibility="no"/>
</LinearLayout>
@@ -95,10 +101,12 @@
style="@style/SettingsLibActionButton.Expressive"
android:layout_width="@dimen/settingslib_expressive_space_large3"
android:layout_height="@dimen/settingslib_expressive_space_medium5"
- android:layout_gravity="center_horizontal" />
+ android:layout_gravity="center_horizontal"
+ android:importantForAccessibility="no"/>
<TextView
android:id="@+id/text4"
style="@style/SettingsLibActionButton.Expressive.Label"
- android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"/>
+ android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall3"
+ android:importantForAccessibility="no"/>
</LinearLayout>
</LinearLayout>
diff --git a/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java b/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java
index f011039517ce..b2861826a103 100644
--- a/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java
+++ b/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java
@@ -548,16 +548,18 @@ public class ActionButtonsPreference extends Preference {
if (mButton instanceof MaterialButton) {
((MaterialButton) mButton).setIcon(mIcon);
}
+ mButton.setEnabled(mIsEnabled);
+ mActionLayout.setOnClickListener(mListener);
+ mActionLayout.setEnabled(mIsEnabled);
+ mActionLayout.setContentDescription(mText);
} else {
mButton.setText(mText);
mButton.setCompoundDrawablesWithIntrinsicBounds(
null /* left */, mIcon /* top */, null /* right */, null /* bottom */);
+ mButton.setOnClickListener(mListener);
+ mButton.setEnabled(mIsEnabled);
}
- mButton.setOnClickListener(mListener);
- mButton.setEnabled(mIsEnabled);
-
-
if (shouldBeVisible()) {
mButton.setVisibility(View.VISIBLE);
if (mIsExpressive) {