Skip to content

Reliably announce item removal to screen readers - #67

Merged
BryceStevenWilley merged 1 commit into
v1.9.8.postfrom
aria-live-followup
Jul 30, 2026
Merged

Reliably announce item removal to screen readers#67
BryceStevenWilley merged 1 commit into
v1.9.8.postfrom
aria-live-followup

Conversation

@rajeswari1301

Copy link
Copy Markdown

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.

@BryceStevenWilley BryceStevenWilley left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread docassemble_webapp/docassemble/webapp/static/app/app.js Outdated
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
@BryceStevenWilley

BryceStevenWilley commented Jul 30, 2026

Copy link
Copy Markdown

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 bundle.sh script a few times so the changes to app.js were propagated to all of the other combinations of js files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants