Potential benefits from grouping logical pieces of information and moving buttons to custom actions: reduce redundancy (by removing repetitive controls) and reduce cognitive load (by making easier to know what item will be affected by each action)

Tumblr app is open. If each post is not grouped and its buttons are not custom actions, VoiceOver would announce: author, report, post, share, reply, re-blog, like, author, report, post, share, reply, re-blog, like, author, report, post, share, reply, re-blog, like... Notice how share, reply, re-blog and like, keep repeating over and over (the author and post can be different in each post). If a user selects a like button, VoiceOver will say:

You may also find interesting...

Since iOS 14, you can get a human readable localised name for a UIColor, with a very useful property called accessibilityName, that you can use in accessibility attributes like labels or values. How cool is that? https://developer.apple.com/documentation/uikit/uicolor/accessibilityname

You can add an observer to listen for changes in the content size category, in case it is more convenient than overriding traitCollectionDidChange(_:).

All the accessibility capabilities you can check for, have counterpart notification names you can observe in case the user changes its preferences while using your app. https://x.com/dadederk/status/1577435144129892352

Created in Swift with Ignite.

Supporting Swift for Swifts