feat: enhance a11y experience in room swipe actions#6985
feat: enhance a11y experience in room swipe actions#6985OtavioStasiak merged 26 commits intodevelopfrom
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds accessibility hints to RoomItem and disables accessibility for swipe action buttons; centralizes room action items via getRoomActionsOptions; changes long-press flow to query screen reader and external keyboard before showing an action sheet; adds native ExternalInput modules (Android/iOS) with a JS helper and Jest mock. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant RoomItem as RoomItemContainer
participant Accessibility as AccessibilityInfo
participant External as ExternalInput (Native)
participant Options as getRoomActionsOptions
participant ActionSheet
participant Handlers as ActionHandlers
User->>RoomItem: Long press
RoomItem->>Accessibility: isScreenReaderEnabled()
Accessibility-->>RoomItem: screenReaderStatus
RoomItem->>External: isExternalKeyboardConnected()
External-->>RoomItem: externalKeyboardStatus
alt screenReaderStatus == true OR externalKeyboardStatus == true
RoomItem->>Options: getRoomActionsOptions(rid,type,isRead,favorite,serverVersion)
Options-->>RoomItem: options[]
RoomItem->>ActionSheet: showActionSheet(options)
ActionSheet-->>User: display options
User->>ActionSheet: select option
ActionSheet->>Handlers: execute selected (toggleRead/toggleFav/hideRoom)
Handlers-->>User: action applied
else
RoomItem->>User: invoke custom onLongPress or noop
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Android Build Available Rocket.Chat Experimental 4.70.0.108278 Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNRoi4l1ziJFBJAWjXU9e9brk_cIMPE4-4LeplWjsirTk5pbtlhxJLmdJoBCT3KMB92TvLMEcycq39EimBPf |
|
iOS Build Available Rocket.Chat Experimental 4.70.0.108279 |
|
LGTM |
Proposed changes
Issue(s)
https://rocketchat.atlassian.net/browse/MA-264
How to test or reproduce
Case 2:
Screenshots
Types of changes
Checklist
Further comments
Summary by CodeRabbit
New Features
Accessibility
Tests