Browse Source

Fix some contentDescription.

pull/1845/head
Benoit Marty 10 months ago
parent
commit
311835962f
  1. 15
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt
  2. 4
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaView.kt
  3. 4
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/pdf/PdfViewer.kt
  4. 7
      libraries/ui-strings/src/main/res/values/localazy.xml

15
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt

@ -48,6 +48,8 @@ import androidx.compose.ui.draw.clip @@ -48,6 +48,8 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.clearAndSetSemantics
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.PreviewParameter
@ -371,7 +373,7 @@ private fun EmojiReactionsRow( @@ -371,7 +373,7 @@ private fun EmojiReactionsRow(
) {
Icon(
resourceId = CommonDrawables.ic_add_reaction,
contentDescription = "Emojis",
contentDescription = stringResource(id = CommonStrings.a11y_react_with_other_emojis),
tint = MaterialTheme.colorScheme.secondary,
modifier = Modifier
.size(24.dp)
@ -398,11 +400,18 @@ private fun EmojiButton( @@ -398,11 +400,18 @@ private fun EmojiButton(
} else {
Color.Transparent
}
val description = if (isHighlighted) {
stringResource(id = CommonStrings.a11y_remove_reaction_with, emoji)
} else {
stringResource(id = CommonStrings.a11y_react_with, emoji)
}
Box(
modifier = modifier
.size(48.dp)
.background(backgroundColor, CircleShape),
.background(backgroundColor, CircleShape)
.clearAndSetSemantics {
contentDescription = description
},
contentAlignment = Alignment.Center
) {
Text(

4
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaView.kt

@ -44,6 +44,7 @@ import androidx.compose.ui.layout.ContentScale @@ -44,6 +44,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalInspectionMode
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
@ -69,6 +70,7 @@ import io.element.android.libraries.designsystem.utils.CommonDrawables @@ -69,6 +70,7 @@ import io.element.android.libraries.designsystem.utils.CommonDrawables
import io.element.android.libraries.designsystem.utils.KeepScreenOn
import io.element.android.libraries.designsystem.utils.OnLifecycleEvent
import io.element.android.libraries.theme.ElementTheme
import io.element.android.libraries.ui.strings.CommonStrings
import me.saket.telephoto.zoomable.ZoomSpec
import me.saket.telephoto.zoomable.ZoomableState
import me.saket.telephoto.zoomable.coil.ZoomableAsyncImage
@ -135,7 +137,7 @@ private fun MediaImageView( @@ -135,7 +137,7 @@ private fun MediaImageView(
modifier = modifier.fillMaxSize(),
state = zoomableImageState,
model = localMedia?.uri,
contentDescription = "Image",
contentDescription = stringResource(id = CommonStrings.common_image),
contentScale = ContentScale.Fit,
)
}

4
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/pdf/PdfViewer.kt

@ -35,9 +35,11 @@ import androidx.compose.ui.Modifier @@ -35,9 +35,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import io.element.android.libraries.designsystem.text.roundToPx
import io.element.android.libraries.designsystem.text.toDp
import io.element.android.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import me.saket.telephoto.zoomable.zoomable
@ -98,7 +100,7 @@ private fun PdfPageView( @@ -98,7 +100,7 @@ private fun PdfPageView(
is PdfPage.State.Loaded -> {
Image(
bitmap = state.bitmap.asImageBitmap(),
contentDescription = "Page ${pdfPage.pageIndex}",
contentDescription = stringResource(id = CommonStrings.a11y_page_n, pdfPage.pageIndex),
contentScale = ContentScale.FillWidth,
modifier = modifier.fillMaxWidth()
)

7
libraries/ui-strings/src/main/res/values/localazy.xml

@ -4,19 +4,24 @@ @@ -4,19 +4,24 @@
<string name="a11y_hide_password">"Hide password"</string>
<string name="a11y_notifications_mentions_only">"Mentions only"</string>
<string name="a11y_notifications_muted">"Muted"</string>
<string name="a11y_page_n">"Page %1$d"</string>
<string name="a11y_pause">"Pause"</string>
<string name="a11y_pin_field">"PIN field"</string>
<string name="a11y_play">"Play"</string>
<string name="a11y_poll">"Poll"</string>
<string name="a11y_poll_end">"Ended poll"</string>
<string name="a11y_react_with">"React with %1$s"</string>
<string name="a11y_react_with_other_emojis">"React with other emojis"</string>
<string name="a11y_read_receipts_multiple">"Read by %1$s and %2$s"</string>
<string name="a11y_read_receipts_single">"Read by %1$s"</string>
<string name="a11y_read_receipts_tap_to_show_all">"Tap to show all"</string>
<string name="a11y_remove_reaction_with">"Remove reaction with %1$s"</string>
<string name="a11y_send_files">"Send files"</string>
<string name="a11y_show_password">"Show password"</string>
<string name="a11y_start_call">"Start a call"</string>
<string name="a11y_user_menu">"User menu"</string>
<string name="a11y_voice_message_record">"Record voice message."</string>
<string name="a11y_voice_message_stop_recording">"Stop recording"</string>
<string name="a11y_read_receipts_multiple">"Read by %1$s and %2$s"</string>
<string name="action_accept">"Accept"</string>
<string name="action_add_to_timeline">"Add to timeline"</string>
<string name="action_back">"Back"</string>

Loading…
Cancel
Save