From 6f235144c4bf189e6fc2632c9d9c4a311cb83490 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Fri, 22 Jul 2022 11:10:09 -0400 Subject: Add content description to tile The tile in TileRequestDialog didn't have a content description. This made it so that some screen readers could pick that there was text and read it, but others (like select to speak) would not. Fixes: 236174008 Test: manual, using Select to Speak Test: atest TileRequestDialogTest Change-Id: I89e3819413a9d8dcf0345ce43fb5594b6a8ffb0e --- .../android/systemui/qs/external/TileRequestDialog.kt | 3 ++- .../systemui/qs/external/TileRequestDialogTest.kt | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt b/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt index bd2f64bb9874..6265b3c056e7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileRequestDialog.kt @@ -73,6 +73,7 @@ class TileRequestDialog( icon = tileData.icon?.loadDrawable(context)?.let { QSTileImpl.DrawableIcon(it) } ?: ResourceIcon.get(R.drawable.android) + contentDescription = label } tile.onStateChanged(state) tile.post { @@ -95,4 +96,4 @@ class TileRequestDialog( val label: CharSequence, val icon: Icon? ) -} \ No newline at end of file +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt index 2ad9c9400f65..fb17fc0a0595 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileRequestDialogTest.kt @@ -163,4 +163,20 @@ class TileRequestDialogTest : SysuiTestCase() { assertThat(tile.isClickable).isFalse() assertThat(tile.isLongClickable).isFalse() } -} \ No newline at end of file + + @Test + fun setTileData_tileHasCorrectContentDescription() { + val icon = Icon.createWithResource(mContext, R.drawable.cloud) + val tileData = TileRequestDialog.TileData(APP_NAME, LABEL, icon) + + dialog.setTileData(tileData) + dialog.show() + + TestableLooper.get(this).processAllMessages() + + val content = dialog.requireViewById(TileRequestDialog.CONTENT_ID) + val tile = content.getChildAt(1) as QSTileView + + assertThat(tile.contentDescription).isEqualTo(LABEL) + } +} -- cgit v1.2.3-59-g8ed1b