From d961b57ee6aafec7c2a44935bcd07f91e783d9cc Mon Sep 17 00:00:00 2001 From: kunwarshivam1971 <1971kunwarshivam@gmail.com> Date: Sun, 21 Jun 2026 12:26:44 +0530 Subject: [PATCH] fix: add contentDescription to selection-state icons for screen readers Adds proper contentDescription values to CheckCircle/RadioButtonUnchecked icons in SettingsScreen.kt (IPTV playlist and catalog selection rows) that indicate selection state, improving TalkBack accessibility on Android TV. Refs #399 --- .../com/arflix/tv/ui/screens/settings/SettingsScreen.kt | 4 ++-- app/src/main/res/values/strings.xml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsScreen.kt b/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsScreen.kt index 1f7b21ee..43877f4d 100644 --- a/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsScreen.kt +++ b/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsScreen.kt @@ -5884,7 +5884,7 @@ private fun IptvSettings( verticalAlignment = Alignment.CenterVertically ) { if (selectionMode) { - Icon(imageVector = if (isSelected) Icons.Default.CheckCircle else Icons.Default.RadioButtonUnchecked, contentDescription = null, tint = if (isSelected) Pink else TextSecondary, modifier = Modifier.size(24.dp)) + Icon(imageVector = if (isSelected) Icons.Default.CheckCircle else Icons.Default.RadioButtonUnchecked, contentDescription = stringResource(if (isSelected) R.string.item_selected else R.string.item_not_selected), tint = if (isSelected) Pink else TextSecondary, modifier = Modifier.size(24.dp)) Spacer(modifier = Modifier.width(16.dp)) } else { Icon(imageVector = Icons.Default.LiveTv, contentDescription = null, tint = TextSecondary, modifier = Modifier.size(24.dp)) @@ -6919,7 +6919,7 @@ private fun CatalogsSettings( verticalAlignment = Alignment.CenterVertically ) { if (selectionMode) { - Icon(if (isSelected) Icons.Default.CheckCircle else Icons.Default.RadioButtonUnchecked, contentDescription = null, tint = if (isSelected) Pink else TextSecondary, modifier = Modifier.size(24.dp)) + Icon(if (isSelected) Icons.Default.CheckCircle else Icons.Default.RadioButtonUnchecked, contentDescription = stringResource(if (isSelected) R.string.item_selected else R.string.item_not_selected), tint = if (isSelected) Pink else TextSecondary, modifier = Modifier.size(24.dp)) Spacer(modifier = Modifier.width(16.dp)) } else { Icon(Icons.Default.Widgets, contentDescription = null, tint = TextSecondary, modifier = Modifier.size(24.dp)) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3c079952..e751d096 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -92,6 +92,8 @@ Add Refresh selected + Selected + Not selected Sign In Log Out Watched