diff options
author | 2024-09-23 22:28:30 +0000 | |
---|---|---|
committer | 2024-09-25 15:45:33 +0000 | |
commit | a4c8fb2474dbf3a694786454a0efded9e4ca95fa (patch) | |
tree | d9e300ecb9116e87b04d00d1aab9f2bda0acc199 | |
parent | 8ae19c7249ff1bcedd6c0006d95fc2cc92c91c6e (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
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) { |