diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt index db133a9a09..6afec35dfe 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt @@ -23,14 +23,17 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.clearAndSetSemantics import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Icon +import io.element.android.libraries.ui.strings.CommonStrings @Composable internal fun FormattingOption( @@ -52,6 +55,8 @@ internal fun FormattingOption( FormattingOptionState.Default -> ElementTheme.colors.iconSecondary FormattingOptionState.Disabled -> ElementTheme.colors.iconDisabled } + val activeStateDescription = stringResource(CommonStrings.a11y_active) + val inactiveStateDescription = stringResource(CommonStrings.a11y_inactive) Box( modifier = modifier .clickable( @@ -77,6 +82,13 @@ internal fun FormattingOption( ) .clearAndSetSemantics { this.contentDescription = contentDescription + if (toggleable) { + this.stateDescription = if (state == FormattingOptionState.Selected) { + activeStateDescription + } else { + inactiveStateDescription + } + } } ) { Box( diff --git a/libraries/ui-strings/src/main/res/values/temporary.xml b/libraries/ui-strings/src/main/res/values/temporary.xml index a192e2c9df..c0573cc6c2 100644 --- a/libraries/ui-strings/src/main/res/values/temporary.xml +++ b/libraries/ui-strings/src/main/res/values/temporary.xml @@ -10,4 +10,6 @@ "Jump to first unread message" Allow access to local network Your homeserver is on your local network. To connect, Element needs permission to reach other devices on this network. + Active + Inactive