Accessibility improvements
I really like this client! It's very solid and well thought out. However, there are some issues that stop the experience from being as good as it possibly could be with VoiceOver:
- Arrowing in the table just reads "Toot!". Ideally, what this would do is read what it does when you interact with the table (that is, who posted it, the text, etc.)
- Multiple unlabeled images. There are images in this app that have no alt text (to describe them). Running VoiceOver's image description technology on them (control option shift l), says things like "A person sitting at a laptop". I bet this looks real nice visually, but I don't know what it actually is meant to represent, and it doesn't actually even seem that important to VoiceOver. I'm a SwiftUI person, because we can't use Interface Builder with VoiceOver, so I'd recommend something like Image(decorative:), or whatever the alternative is in AppKit to tell the screen reader "Hey, you don't need to care about this, its just 'decorative'".
- Unlabeled buttons. These are seen in multiple places, but the biggest two places are the toolbar next to the home feed, there's a button to compose a toot and a button that just says menu that I have absolutely no idea what it does). Also in the compose dialog. There's a random text element that says "Hello there", and according to VoiceOver, is "dimmed". Next, there's another image that it can't seem to describe, the text field, with a very good label by the way, an unlabeled button, an option for a poll option title, two checkboxes without labels, another button without a label, etc. This is far from usable at this point.
If you need any more info, I'm happy to provide it. Thanks for all your work on this app! :)
(Note to self: helps to navigate with ctrl-shift-opt-down/up to enter/exit a toolbar and ctrl-opt-left/right to navigate through elements.)
Arrowing in the table just reads "Toot!". Ideally, what this would do is read what it does when you interact with the table (that is, who posted it, the text, etc.)
Yup. Something is wrong with the accessibility hierarchy here.
If you hit the tab key, it does just that; it reads the author and then the contents. (Not perfectly, but close.) I need to look into why it doesn't do that when selecting a row.
Running VoiceOver's image description technology on them (control option shift l), says things like "A person sitting at a laptop".
Huh! I wonder where you're seeing that.
There's a welcome window, but that graphic shows three people and doesn't feature a laptop, so I'm guessing that's not the one.
These are seen in multiple places, but the biggest two places are the toolbar next to the home feed, there's a button to compose a toot and a button that just says menu that I have absolutely no idea what it does).
Yep, I've made some improvements here.
For what it's worth, the timeline window has, in order, the toolbar items close/minimize/maximize, then a menu that lets you pick an account (if you have multiple), then another menu that lets you pick what the current column shows in the timeline (could be Home, Local Timeline, Notifications, etc.), then a button to compose a new toot, a button for search, and finally a button to add another column to the window. That button shows a menu where you choose the contents for the new column (so, if your first column is Home, your second could be Notifications).
Also in the compose dialog. There's a random text element that says "Hello there", and according to VoiceOver, is "dimmed". Next, there's another image that it can't seem to describe, the text field, with a very good label by the way, an unlabeled button, an option for a poll option title, two checkboxes without labels, another button without a label, etc. This is far from usable at this point.
Yep, the compose window seems to expose lots of hidden stuff to accessibility. Need to look into that.
Anyway, thanks for your remarks. I'll take a look at these things step by step.