Skip to content

Conversation

laevandus
Copy link
Contributor

@laevandus laevandus commented Jan 22, 2025

🔗 Issue Link

Resolves IOS-641

🎯 Goal

Improve voice over by hiding decorative images, adding missing labels, and accessibility actions

🛠 Implementation

Reviewed common views with a focus on decorative images, confusing or missing labels, and adding accessibility actions for cases we have used tap gestures only. This PR just focused on before mentioned areas for making the basic usage better.

🧪 Testing

🎨 Changes

Add relevant screenshots or videos showcasing the changes.

☑️ Checklist

  • I have signed the Stream CLA (required)
  • Changelog is updated with client-facing changes
  • New code is covered by unit tests
  • Affected documentation updated (docusaurus, tutorial, CMS (task created)

@laevandus laevandus requested a review from a team as a code owner January 22, 2025 08:13
@Stream-SDK-Bot
Copy link
Collaborator

Stream-SDK-Bot commented Jan 22, 2025

SDK Size

title develop branch diff status
StreamChatSwiftUI 7.55 MB 7.58 MB +33 KB 🟢

@laevandus laevandus changed the title [WIP] Improve voice over labels and navigation [WIP] Improve voice over labels and actions Jan 22, 2025
.padding(.all, 8)
Spacer()
}
.accessibilityAddTraits(.isHeader)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

VO reads: "22 Jan, header". Otherwise it would be hard to know what the date is about.

Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

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

Looks good to me! Seems like some of the e2e tests broke though, pls check this before merging.

@laevandus laevandus changed the title [WIP] Improve voice over labels and actions Improve voice over labels and actions Jan 23, 2025

static func files(in messageCell: XCUIElement) -> XCUIElementQuery {
messageCell.images.matching(NSPredicate(format: "identifier LIKE 'FileAttachmentsContainer'"))
messageCell.buttons.matching(NSPredicate(format: "identifier LIKE 'FileAttachmentsContainer'"))
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added accessibilityAction which changes elements to buttons

Element subtree:
 →Other, 0x106509d10, {{4.0, 670.8}, {294.2, 89.0}}, identifier: 'MessageContainerView'
    Other, 0x106509e30, {{4.0, 723.7}, {36.0, 36.0}}, identifier: 'MessageAvatarView'
      Image, 0x106509f50, {{4.0, 723.7}, {36.0, 36.0}}
    Other, 0x10650a070, {{47.5, 670.8}, {250.7, 69.0}}, identifier: 'MessageView'
      Button, 0x10650a190, {{47.5, 670.8}, {250.7, 69.0}}, identifier: 'FileAttachmentsContainer', label: 'file_1, 123 KB'
        Image, 0x10650a2b0, {{60.0, 685.3}, {34.0, 40.0}}
        StaticText, 0x10650a3d0, {{102.0, 683.3}, {40.3, 20.3}}, label: 'file_1'
        StaticText, 0x10650a4f0, {{102.0, 711.7}, {42.3, 15.7}}, label: '123 KB'
    StaticText, 0x10650a610, {{48.0, 744.1}, {98.0, 15.7}}, identifier: 'MessageAuthorAndDateView', label: 'Han Solo, Sent at 10:07'
      StaticText, 0x10650a730, {{48.0, 744.1}, {56.7, 15.7}}, identifier: 'MessageAuthorView', label: 'Han Solo'
      StaticText, 0x10650a850, {{112.7, 744.1}, {33.3, 15.7}}, identifier: 'MessageDateView', label: 'Sent at 10:07'

@laevandus laevandus enabled auto-merge (squash) January 23, 2025 08:11
Copy link

Quality Gate Failed Quality Gate failed

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

See analysis details on SonarQube Cloud

@laevandus laevandus merged commit 1ceac73 into develop Jan 23, 2025
11 of 12 checks passed
@laevandus laevandus deleted the improve-voice-over branch January 23, 2025 08:38
@Stream-SDK-Bot Stream-SDK-Bot mentioned this pull request Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants