From 966822370756f46f2c88507cf713d0a6493e3cfb Mon Sep 17 00:00:00 2001 From: saipraneeth0852 Date: Thu, 9 Oct 2025 21:37:56 +0530 Subject: [PATCH] fix: improve accessibility for Switch components with semantic merging - Add Modifier.semantics(mergeDescendants = true) to Row in SwitchListItem - Screen readers now announce switch context and state together - Reduces cognitive load for visually impaired users Hacktoberfest 2025 contribution --- .../colman/petals/settings/view/dialog/SwitchListItem.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/br/com/colman/petals/settings/view/dialog/SwitchListItem.kt b/app/src/main/kotlin/br/com/colman/petals/settings/view/dialog/SwitchListItem.kt index cf923fdfa..60f353b9e 100644 --- a/app/src/main/kotlin/br/com/colman/petals/settings/view/dialog/SwitchListItem.kt +++ b/app/src/main/kotlin/br/com/colman/petals/settings/view/dialog/SwitchListItem.kt @@ -16,6 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import androidx.compose.ui.semantics.semantics + @OptIn(ExperimentalMaterialApi::class) @Composable @@ -26,7 +28,9 @@ fun SwitchListItem( initialState: Boolean, onChangeState: (Boolean) -> Unit, ) { - Row { + Row( + modifier = Modifier.semantics(mergeDescendants = true) {} + ) { ListItem( modifier = Modifier.fillMaxWidth().weight(0.7f), icon = { Icon(icon, null, Modifier.size(42.dp)) }, @@ -37,3 +41,4 @@ fun SwitchListItem( Switch(initialState, onChangeState, modifier = Modifier.align(CenterVertically).padding(end = 8.dp)) } } +