Skip to content

Conversation

andremion
Copy link
Contributor

@andremion andremion commented Aug 29, 2025

🎯 Goal

Improve accessibility of the message list items

🛠 Implementation details

  • Merge nodes of message date, unread label, and thread separators
  • The onUserAvatarClick parameter in MessagesScreen and MessageContainer is now nullable, as well as the onChannelAvatarClick parameter and its internal MessagesScreenContent composable, allowing to have better semantics if the click is unhandled.
  • Add content descriptions for message read status icons and improve the thread footer text handling.
  • Add content descriptions for media attachments and message reaction items to enhance accessibility.
  • Clear semantics of the other message author to prevent duplication with the avatar semantics.
  • Improve content descriptions of the commands button

Out of scope changes

  • Fix the order of some assertEquals arguments in UserRobotMessageListAsserts.

🎨 UI Changes

Before After
Screen_recording_20250829_154007.webm
Screen_recording_20250829_153824.webm

🧪 Testing

Turn Talkback ON in System settings -> Accessibility options

@andremion andremion added the compose Jetpack Compose label Aug 29, 2025
Copy link
Contributor

github-actions bot commented Aug 29, 2025

SDK Size Comparison 📏

SDK Before After Difference Status
stream-chat-android-client 3.21 MB 3.21 MB 0.00 MB 🟢
stream-chat-android-offline 3.43 MB 3.43 MB 0.00 MB 🟢
stream-chat-android-ui-components 10.51 MB 10.52 MB 0.00 MB 🟢
stream-chat-android-compose 12.69 MB 12.70 MB 0.01 MB 🟢

@andremion andremion force-pushed the AND-711-review-accessibility-of-the-message-items branch 2 times, most recently from b80039d to 3f6ee44 Compare August 29, 2025 15:16
@andremion andremion force-pushed the AND-711-review-accessibility-of-the-message-items branch from 3f6ee44 to 9078438 Compare September 8, 2025 12:10
@andremion andremion marked this pull request as ready for review September 8, 2025 12:35
@andremion andremion requested a review from a team as a code owner September 8, 2025 12:35
@andremion andremion changed the title Improve accessibility of message list Improve accessibility of message list items Sep 9, 2025
@andremion andremion force-pushed the AND-711-review-accessibility-of-the-message-items branch from b9e8269 to f28c841 Compare September 9, 2025 15:43
Copy link
Contributor

@VelikovPetar VelikovPetar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good to me!
We should try to follow the approach of defining lambdas as nullable when they are optional(like the changes you did, such as onUserAvatarClick: (() -> Unit)? = null), so that the talkback behaviour is better (for new features)

@andremion andremion force-pushed the AND-711-review-accessibility-of-the-message-items branch from f28c841 to 96b70a3 Compare September 10, 2025 07:59
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
33.1% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@andremion andremion merged commit a39990f into develop Sep 10, 2025
16 of 18 checks passed
@andremion andremion deleted the AND-711-review-accessibility-of-the-message-items branch September 10, 2025 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compose Jetpack Compose
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants