Safari and VoiceOver don't announce repeated, identical, aria live messages
|Reported by:||afercia||Owned by:||afercia|
|Component:||General||Keywords:||has-screenshots has-patch fixed-major|
Noticed while investigating on #36848. Unlike other browsers / screen readers combinations, seems Safari and VoiceOver don't announce repeated aria-live messages when the message text string is the same string used in the previous message.
wp.a11y.speak() uses an aria-relevant attribute set to a value of additions text (which is the default value) thus only added text should be announced. To make repeated strings work, in  wp.a11y.speak() has been changed in order to clear the aria live region before dispatching a new message.
Seems this works in all browsers / screen readers combinations I've tested with, except Safari and VoiceOver.
One place where this happens is in the Themes Installer screen, to reproduce:
- run a search with a non sense string, e.g. "qwertyuiop"
- the message "No themes found. Try a different search." gets announced
- add one character to the previous search string, e.g. "qwertyuiopa"
- a new search runs, the aria live gets cleared out and the same message gets dispatched
- Safari and VoiceOver don't announce the message, seems they don't get the "change" in the aria live region
I'm not sure how to fix this, also not sure if this is a Safari/VoiceOver bug or just a different implementation.
Using aria-relevant=all would make other combos announce both the removed text and the added text so it's not an option.
Maybe, try to find a way to force VoiceOver to think the new string is different, adding some not-readable character. Any thoughts more than welcome.
Change History (15)
- Keywords needs-patch added
- Milestone changed from Awaiting Review to Future Release
- Keywords has-patch added; needs-patch removed
- Milestone changed from Future Release to 4.7.5
- Owner set to afercia
- Resolution set to fixed
- Status changed from reopened to closed
- Keywords fixed-major added; commit removed
- Resolution fixed deleted
- Status changed from closed to reopened