Describe the Bug
The list of chats in the ParleyView can be very long. When a user is using voice over it can help the user to have various possibilities to navigate in this view.
Scenario 1: Use user wants to find a message on a certain date in the past.
Current Situation:
Swipe to the right so that the done button is selected
Swipe to the right so that a cell is selected, this selects a loading cell that disappears when the loading is done, then the done button is selected again
Swipe until a chat cell is selected, this selects a random cell in the middle of the tableView.
Swipe to the left to select older chats
Preferred Situation
Set the rotor to container.
Swipe down to select the tableView, preferably the newest chat message is selected.
Set the rotor to Heading
Swipe up to go to date headings in the past
Once the correct date is reached, swipe to the right to select the correct chat.
Scenario 2: When the view is opened the user wants to go in as little swipes as possible to the compose view. (nice to have)
Current Situation:
Set the rotor to container.
Swipe down until the tabbar has the focus
Swipe to the left until the ComposeView is selected
Preferred Situation
Set the rotor to container.
Swipe down until the ComposeView has the focus
Both preferred scenarios could be reached by setting the heading trait to an element and setting the containerType.
button.accessibilityContainerType = .semanticGroup
By default a tableView header has the trait heading. In the ParleyView the date is a cell, so no heading trait.
Describe the Bug The list of chats in the ParleyView can be very long. When a user is using voice over it can help the user to have various possibilities to navigate in this view.
Scenario 1: Use user wants to find a message on a certain date in the past. Current Situation:
Scenario 2: When the view is opened the user wants to go in as little swipes as possible to the compose view. (nice to have) Current Situation:
Both preferred scenarios could be reached by setting the heading trait to an element and setting the containerType.
button.accessibilityContainerType = .semanticGroup
By default a tableView header has the trait heading. In the ParleyView the date is a cell, so no heading trait.Screenshots NB: Enable the audio for this videos.
This video shows both the problem from scenario 1 and 2 https://github.com/parley-messaging/ios-library/assets/2762698/bcf46a83-57df-4591-8b36-6b729bc73924
This video show what the preferred situation would be https://github.com/parley-messaging/ios-library/assets/2762698/6d20a068-31fc-4b19-a2fe-4cd3e36c746f