-
-
Notifications
You must be signed in to change notification settings - Fork 833
Make the timeline less noisy for screen readers (mk II) #3019
Conversation
To have less noise when they run over the sender profile. See element-hq/element-web#9747
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise. Fixes element-hq/element-web#2716 Fixes element-hq/element-web#5697 See element-hq/element-web#9747
The short time is still read out (eg: 15:24), however by ignoring the anchor we prevent the reader from saying the title of the containing span. This prevents readers saying "Wed May 22, 2019 at 15:24 15:24". See element-hq/element-web#9747
There's details in the comment body of this diff. See element-hq/element-web#9747
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this version seems better! 😁 Thanks for the big comment!
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, the if block version looks equivalent and easier to read. 😁
Hello, I am afraid using aria-hidden for filtering duplicate live region announcements is a dangerous thing to do. Also I feel hiding not very accessible parts is dangerous too if we have no better accessible counter parts. The same goes for user name vs avatar combinations and flairs. They are no longer interactive for screen reader users after these changes. I agree they should not be focusable when navigating by using tab or shift+tab but should be focusable with the other means and react to keypresses so screen reader users can find and act on them by using screen reader specific features. The same goes for the read receipts. Currently read receipts images are hidden, that's a good thing. +xxx number is not yet hidden and that will be easier to tweak. However it would be awesome to turn the parent element encapsulating all the RR images into accessible button and generate aria-label for that button saying something like "Matthew, Travis R +5 read" to bring that feature back in much polished way. Activating that button will cause RR list to expand. When expanded it should be rendered as list of items where one can highlight individual items when navigating with arrow keys similar to the profile menu in functionality not design. There might be other features that are not accessible and I may even not be aware of them e.g. message encryption status images. If we were only designing for screen reader users and not trying to apply universal design where possible I would suggest to present the time line the way you are currently doing to screen reader users by hiding all interactive features. For bringing those features back I would then add an off screen positioned button to each event tile. Pressing that button would popup a list with link to users profile, ability to mention the sender and other users mentioned in the content, flair, read receipts and other event tile specific actions such as copying or sharing the event. That would unfortunatelly mean a lot of duplication so this really needs much more thinking. I apologize for such verbose message thinking aloud too much. I really appreciate your time and all the resources you are putting into this and I am extremelly happy you are considering screen reader accessibility almost from the start. |
Revert "Make the timeline less noisy for screen readers (mk II) #3019"
Revert "Make the timeline less noisy for screen readers (mk II) #3019" for release
There's some room for improvement here: we could be making the reader say "You sent a message at 18:46 [body]" or "TravisR sent a message at 18:46 [body]" to make it clearer. Currently it'll read out the sender profile if it is available, and if not just the timestamp + message. This improvement is best left to a future PR though.
Fixes element-hq/element-web#2716
Fixes element-hq/element-web#5697
See element-hq/element-web#9747
Original PR: #3007