Skip to content

aria live region for announcements #9632

Description

@maribethb

Check for duplicates

  • I have searched for similar issues before opening a new one.

Problem

No response

Request

Implement the aria live region for announcing updates on Blockly. This can be partially backported out of the screen-reader branch, with some improved API niceties.

You can find the details for the implementation here, in section 4.2.1

Some highlights, please refer to the doc for more details:

  • The region must be displayed, as hidden elements are ignored by screenreaders, so you need a bit of hacky css to make it only "visible" to screenreaders.
  • We should default to using "polite" mode for the aria-live region. Though reading the spec initially had us using assertive mode, we found in testing that some platforms wouldn't read assertive announcements at all. See [Screen reader] Review of aria-live region announcements #9460 for more details.
  • We must use a debounce for updating the region to ensure announcements are always read. There is more discussion of this in [Screen reader] Review of aria-live region announcements #9460. If the debounce isn't already implemented in the screen-reader branch, microbit should have a PR somewhere with their implementation details we can crib from. I can dig this up if needed.
  • The documentation for the methods should include clear guidelines about when to use it
  • The region will be a page global created during injection using the aria utility API as described in the linked doc above.

Alternatives considered

No response

Additional context

We should probably close #9460 when this is closed as well, but I wanted to make a separate bug to make it more clear when this is merged into the v13 branch.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions