a11y: set role = button for "learn more" texts.

Closes #6405
This commit is contained in:
Benoit Marty 2026-04-23 16:16:15 +02:00 committed by Benoit Marty
parent 02ab58ffbe
commit 8c50c55a1d
2 changed files with 15 additions and 2 deletions

View file

@ -19,6 +19,9 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.role
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme import io.element.android.compound.theme.ElementTheme
@ -90,7 +93,11 @@ fun ChooseSelfVerificationModeView(
Text( Text(
modifier = Modifier modifier = Modifier
.clickable(onClick = onLearnMore) .clickable(onClick = onLearnMore)
.padding(vertical = 4.dp, horizontal = 16.dp), .padding(vertical = 4.dp, horizontal = 16.dp)
.semantics {
// Note: there is no Role.Link, so we use Role.Button for better accessibility support
role = Role.Button
},
text = stringResource(CommonStrings.action_learn_more), text = stringResource(CommonStrings.action_learn_more),
style = ElementTheme.typography.fontBodyLgMedium style = ElementTheme.typography.fontBodyLgMedium
) )

View file

@ -24,8 +24,10 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.focused import androidx.compose.ui.semantics.focused
import androidx.compose.ui.semantics.role
import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -227,7 +229,11 @@ private fun ContentInitial(
Text( Text(
modifier = Modifier modifier = Modifier
.clickable { onLearnMoreClick() } .clickable { onLearnMoreClick() }
.padding(vertical = 4.dp, horizontal = 16.dp), .padding(vertical = 4.dp, horizontal = 16.dp)
.semantics {
// Note: there is no Role.Link, so we use Role.Button for better accessibility support
role = Role.Button
},
text = stringResource(CommonStrings.action_learn_more), text = stringResource(CommonStrings.action_learn_more),
style = ElementTheme.typography.fontBodyLgMedium style = ElementTheme.typography.fontBodyLgMedium
) )