Skip to content

aria live region for announcements #9632

@maribethb

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

issue: feature requestDescribes a new feature and why it should be added

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions