Reliably announce item removal to screen readers - #67
Conversation
BryceStevenWilley
left a comment
There was a problem hiding this comment.
There's also a small delay added to the existing focus-to-heading behavior so the screen reader has time to finish speaking before focus moves again.
This isn't happening for me, the focus to the header of the page is still being read over the info announcement.
Delay the aria-live text update itself instead of delaying when focus moves to the heading. The heading now gets read first as before, and the announcement follows 700ms later in the same persistent live region
261ad8c to
cb04d61
Compare
|
Confirmed that it works on Safari, Firefox, and Chrome with VoiceOver and MacOS, Firefox with VoiceOver on iOS, and Firefox with Orca on Ubuntu (Gnome), all are great and announced the removal perfectly! The only slight issue that I had on MacOS was that I sometimes had different results if I pressed "Enter" vs if I used the ctrl-option-space VoiceOver keyboard shortcuts to interact with a button, "Enter" wouldn't announce the same. But this is a big enough of an improvement I think to merge now. Rebased it so it can merge cleanly, and also ran the |
This is a follow-up to #66. Review only the changes to server.py, app.js, app.min.js, and app.min.js.map - the
functions.pydiff here is the same one already in #66 and will go away once that PR merges and this branch gets rebased.When someone deletes a row from a table, this makes the screen reader announcement more reliable. It creates one empty, invisible region on the page when it first loads, and writes the message into that same region after a delete, instead of creating a new one each time (which screen readers tend to ignore). There's also a small delay added to the existing focus-to-heading behavior so the screen reader has time to finish speaking before focus moves again.