Add contentDescriptions to radio buttons

This commit is contained in:
andrew 2023-10-19 13:32:34 +10:30
parent 864942026c
commit b2f92bc166
2 changed files with 11 additions and 1 deletions

View File

@ -40,7 +40,10 @@ import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
@ -150,6 +153,7 @@ fun <T> TitledRadioButton(option: RadioOption<T>, onClick: () -> Unit) {
.clickable { if (!option.selected) onClick() } .clickable { if (!option.selected) onClick() }
.heightIn(min = 60.dp) .heightIn(min = 60.dp)
.padding(horizontal = 32.dp) .padding(horizontal = 32.dp)
.contentDescription(option.contentDescription)
) { ) {
Column(modifier = Modifier Column(modifier = Modifier
.weight(1f) .weight(1f)
@ -180,6 +184,12 @@ fun <T> TitledRadioButton(option: RadioOption<T>, onClick: () -> Unit) {
} }
} }
@Composable
fun Modifier.contentDescription(text: GetString): Modifier {
val context = LocalContext.current
return semantics { contentDescription = text(context) }
}
@Composable @Composable
fun OutlineButton(text: String, modifier: Modifier = Modifier, onClick: () -> Unit) { fun OutlineButton(text: String, modifier: Modifier = Modifier, onClick: () -> Unit) {
OutlinedButton( OutlinedButton(

View File

@ -159,7 +159,7 @@
<string name="AccessibilityId_disappearing_messages_timer">Disappearing messages timer</string> <string name="AccessibilityId_disappearing_messages_timer">Disappearing messages timer</string>
<string name="AccessibilityId_set_button">Set button</string> <string name="AccessibilityId_set_button">Set button</string>
<string name="AccessibilityId_time_option">Time option</string> <string name="AccessibilityId_time_option">Time option</string>
<string name="AccessibilityId_disable_disappearing_messages">Disable disappearing messages (Off option)</string> <string name="AccessibilityId_disable_disappearing_messages">Disable disappearing messages</string>
<string name="AccessibilityId_configuration_message">Configuration message</string> <string name="AccessibilityId_configuration_message">Configuration message</string>
<string name="AccessibilityId_disappearing_messages_type_and_time">Disappearing messages type and time</string> <string name="AccessibilityId_disappearing_messages_type_and_time">Disappearing messages type and time</string>
<string name="AccessibilityId_conversation_header_name">Conversation header name</string> <string name="AccessibilityId_conversation_header_name">Conversation header name</string>