@mastonaut Hi! I just learned about the app. Is it also accessible to VoiceOver users on Mac? You mention AccessibilityLabel some times in the release notes, pertaining to custom emoji, but you never mention VoiceOver or other accessibility support explicitly anywhere. So I am wonndering if I can use your app as a blind user.
@marcozehe Hello Marco! VoiceOver is certainly a feature I’ve worked on, but it definitely could be a lot better. Some of the descriptions are not very helpful, like when you select a timeline VoiceOver will say “table, no selection”. Also, I’m not sure every feature is reachable with VoiceOver. It’s things like this. Now that version 1.3.3 is out and the path to version 1.4 is open, this is certainly something I want to improve as there will be some big UI refactors. Thank you for reaching out!
@mastonaut Thanks for your quick reply! I will get the app, and provide feedback for version 1.4.
It is worth looking at the role-based NSAccessibility protocols. To make VoiceOver speak "Home timeline" table, for example, you would override the AccessibilityLabel property for your table. See https://developer.apple.com/documentation/appkit/nsaccessibilitytable for an overview of what you can, or maybe must from the compiler side, implement.
@mastonaut Likewise, to make VoiceOver speak something comprehensive for each row when you arrow up and down a table, you would override the AccessibilityLabel property on each row which a custom string that reads, for example:
"User real name, toot contents including the description for each attached media, relative timestamp, full username, optionally boosted by realname, full username of booster".
See https://developer.apple.com/documentation/appkit/accessibility/integrating_accessibility_into_your_app for a general overview and how rather simple it is since 10.10.
@mastonaut I am now running it, and can do a lot already. I am seeing some unlabelled buttons, like in the toolbar, and the table itself does not appear to set the selection for accessibility when using up and down arrows, so VoiceOver is silent. And there are lots of unlabelled elements in the toot composer. So, there is definitely room for improvement, but it is already very good to start with.
@chidgey it currently holds the timeline in place if you’re a few toots down from the top. Since Mastonaut has no “new toots above” indicator, it would be impossible for a user to know new toots arrived otherwise. This is definitely something I want to improve in 1.4 though, so thank you for your feedback 😊
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!