The discussion addresses accessibility issues with the New Topic/Reply form, particularly for screen reader users. owlish reported that several buttons are not properly labelled: the reply button reads as “Or press Ctrl+Enter,” the hamburger button lacks a label, and the upload image button is read as “link.” codinghorror questioned if this is specific to mobile, but owlish clarified the reply button issue also occurs on desktop. sam requested guidance on testing, and owlish recommended Chrome Vox and NVDA. Matt_Campbell confirmed the reply button fix was implemented and investigated the other issues. He proposed labeling the hamburger button as “show more” or “options,” but awesomerobot added labels to the upload, preview, and toolbar toggle buttons, using “[Show/hide] composer toolbar” for the toggle. sam suggested adding aria-label="reply" to the reply button, and awesomerobot noted that VoiceOver already reads the label correctly but suggested removing the title on mobile. sam set a 2-week timer to close the issue, inviting further follow-ups if needed.
I verified that the hamburger button in the composer isn’t labeled. Specifically, this is the toggle-toolbar button in the composer-toggles component. This button is only rendered in the mobile view.
What would be a reasonable label for this button? Maybe “Formatting”, since many of the toolbar options are formatting related? Not all of them are, though. Maybe the more generic “Tools” would be better.
It occurred to me that, to enable accessibility fixes to reach Discourse’s worldwide user base without imposing too much on translators, we should use existing strings for unlabeled controls when it makes sense. So, for the hamburger button, would it make sense to use “show more” as the title? We could use “options”, and I think that would be a better fit, except that there’s already an “options” button in the toolbar itself. I think that would be confusing.
@Matt_Campbell You’re right about the benefits of using existing text where possible, but I ended up adding two new strings so the label can say “[Show/hide] composer toolbar”. I considered using “options,” but it didn’t seem descriptive enough, especially considering that the button is a toggle.
VoiceOver on iOS reads the button label “reply” and then the title, and this is also the case with NVDA on desktop, so I think everything was covered here but I can take a closer look if something’s still missing.
One minor improvement could be to remove the title on mobile because the keyboard shortcuts generally aren’t relevant there.