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
This commit is contained in:
@@ -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?
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,4 +163,20 @@ class TileRequestDialogTest : SysuiTestCase() {
|
||||
assertThat(tile.isClickable).isFalse()
|
||||
assertThat(tile.isLongClickable).isFalse()
|
||||
}
|
||||
}
|
||||
|
||||
@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<ViewGroup>(TileRequestDialog.CONTENT_ID)
|
||||
val tile = content.getChildAt(1) as QSTileView
|
||||
|
||||
assertThat(tile.contentDescription).isEqualTo(LABEL)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user