From be62f2cd692fccd27e1c4b50b608ddb9ac349328 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 20 Jun 2025 09:34:38 +0200 Subject: [PATCH] a11y: now that the grouped events are read one by one, we also need to reverse the order because the timeline is last message at the top when screen reader is enabled. --- .../timeline/components/TimelineItemGroupedEventsRow.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt index c98cf24426..a32f36ced6 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt @@ -32,6 +32,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.ui.utils.time.isTalkbackActive import io.element.android.wysiwyg.link.Link @Composable @@ -152,7 +153,13 @@ private fun TimelineItemGroupedEventsRowContent( ) if (isExpanded) { Column { - timelineItem.events.forEach { subGroupEvent -> + timelineItem.events.let { + if (isTalkbackActive()) { + it.reversed() + } else { + it + } + }.forEach { subGroupEvent -> TimelineItemRow( timelineItem = subGroupEvent, timelineRoomInfo = timelineRoomInfo,