* Improve StatusRowView accessibility actions
Previously, there was no way to interact with links and hashtags.
Now, these are added to the Actions rotor
* Hide `topPaddingView`s from accessibility
* Fix accessible header rendering in non-filterable TimelineViews
Previously, all navigation title views were assumed to be popup buttons.
Now, we only change the representation for timelines that are filterable.
* Combine tagHeaderView text elements
Previously, these were two separate items
* Prefer shorter Quote action label
* Improve accessibility of StatusEmbeddedView
Previously, this element would be three different ones, and include all the actions on the `StatusRowView` proper. Now, it presents as one element with no actions.
* Add haptics to StatusRowView accessibility actions
* Improve accessibility of ConversationsListRow
This commit adds:
- A combined representation of the component views
- “Unread” as the first part of the label (if this is the case)
- All relevant actions as custom actions
- Reply as magic tap
* Remove StatusRowView accessibilityActions if viewModel.showActions is false
* Hide media attachments from accessibility if the view is not focused
* Combine NotificationRowView accessibility elements; add user actions
Previously, there was no real way to interact with these notifications.
Now, the notifications that show the actions row have the appropriate StatusRowView-derived actions, and new followers notifications have more actions that let you see each user’s profile.
* Prefer @Environment’s `accessibilityEnabled` over `isVoiceOverRunning`
This way we can cater for Voice Control, Full Keyboard Access and Switch Control as well.
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Refine Profile tab VoiceOver order to prioritise user information
Previously, VoiceOver user would have to traverse through header image, “follows you”, and the profile image before getting to the display name of the user.
Now, this element is the first element after the navigation bar.
* Add accessibility label to Timeline Compose post button
Previously, this button was using the SF symbol fallback label.
Now, it has a localized equivalent in addition to two other options: “New”, and “Create”
* Change accessible representation of Timeline nav bar menu
Previously, this would present as a static text.
Now, it has the header trait. In addition, by changing the representation, VoiceOver will read it out as “Home, Pop-up button, Header”, indicating that it opens a menu.
* Add accessibilityHint to Timeline tab Accounts selector
* Add accessibilityLabel and hint to PendingStatusesObserver
Previously, this button would have a label equal to the count of unread posts. Now, it states “X new posts” with the hint “Scrolls the timeline”
* Add image prefectch to the timeline
* Use preview url for post with multiple attachements
* Add image resize
* Prefetch link cards
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>