Problem/Motivation
There's an aria-live region in the toolbar, this is the JS that generates it:
<div aria-live="polite" data-drupal-selector="ckeditor5-admin-help-message">
<p>${helpMessage.join('</p><p>')}</p>
</div>
The help message it provides is currently one of these two things, based on whether or not the "wrapping item is in use":
- "The toolbar buttons that don't fit the user's browser window width will be grouped in a dropdown. If multiple toolbar rows are preferred, those can be configured by adding an explicit wrapping breakpoint wherever you want to start a new row.",
- 'You have configured a multi-row toolbar by using an explicit wrapping breakpoint. This may not work well in narrow browser windows. To use automatic grouping, remove any of these divider buttons.',
This only needs to be conveyed once, unless the presence of the "wrapping" item changes, which should result in the message changing and that being conveyed to AT.
THE PROBLEM
This aria-live region is part of the area re-rendered any time an item is moved within the toolbar config. As a result the "The toolbar buttons that don't fit..." announcement is conveyed to AT after ANY change to toolbar config. Because it's a new+regenerated aria-live region, there's no awareness that the message is unchanged and it's re-conveyed. This is a problem regardless, but it's particularly disruptive since the message being conveyed is about a very specific use case that is unlikely to reflect what the user is actually doing.