From 509339c75e905dd0bb2eb52cdd85fa54d2bca098 Mon Sep 17 00:00:00 2001 From: Andrey Yepin Date: Wed, 27 Nov 2024 17:10:23 -0800 Subject: Add a11y role to the text preview copy action widget Fix: 377643104 Test: manual testing Flag: EXEMPT bug fix Change-Id: Id8454df01e4ca891f85ba8e1ff3979156673ed3d --- .../contentpreview/TextContentPreviewUi.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'java/src/com') diff --git a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java index b12eb8cf..45a0130d 100644 --- a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java @@ -30,10 +30,12 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; import com.android.intentresolver.ContentTypeHint; import com.android.intentresolver.R; import com.android.intentresolver.widget.ActionRow; +import com.android.intentresolver.widget.ViewRoleDescriptionAccessibilityDelegate; import kotlinx.coroutines.CoroutineScope; @@ -138,10 +140,17 @@ class TextContentPreviewUi extends ContentPreviewUi { Runnable onCopy = mActionFactory.getCopyButtonRunnable(); View copyButton = contentPreviewLayout.findViewById(R.id.copy); - if (onCopy != null) { - copyButton.setOnClickListener((v) -> onCopy.run()); - } else { - copyButton.setVisibility(View.GONE); + if (copyButton != null) { + if (onCopy != null) { + copyButton.setOnClickListener((v) -> onCopy.run()); + ViewCompat.setAccessibilityDelegate( + copyButton, + new ViewRoleDescriptionAccessibilityDelegate( + layoutInflater.getContext() + .getString(R.string.role_description_button))); + } else { + copyButton.setVisibility(View.GONE); + } } String headlineText = (mContentTypeHint == ContentTypeHint.ALBUM) -- cgit v1.2.3-59-g8ed1b