WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED MOVED
220054
AX: aria-busy is not being cleared from an element for VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=220054
Summary
AX: aria-busy is not being cleared from an element for VoiceOver
Marco Zehe
Reported
2020-12-21 00:12:43 PST
Steps: 1. With VoiceOver on, open this test case: data:text/html,<div id="live" aria-live="polite" aria-busy="true"></div><script>setTimeout(() => live.textContent = 'updated', 1000); setTimeout(() => live.removeAttribute('aria-busy'), 2000);</script> 2. Explore the only div in the document. Expected: VoiceOver should speak the text "updated" after two seconds. It should then treat the div as normal. Actual result: VoiceOver speaks "updated" already after 1 second, and then speaks "website group is busy" when exploring the web contents with VoiceOver navigation commands. This is the case in both Safari 14 as well as Technology Preview 117.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-12-21 00:12:52 PST
<
rdar://problem/72542353
>
chris fleizach
Comment 2
2020-12-22 22:34:19 PST
the "updated" text seems to be set after 1000ms, so having it speak after 1 second seems expected.
chris fleizach
Comment 3
2020-12-22 22:48:27 PST
I've confirmed this is a bug for VoiceOver. I've sent it to the right component.
Marco Zehe
Comment 4
2020-12-22 22:51:01 PST
Thanks, Chris! Does this include both the constant "busy" announcement on elements that had aria-busy set during their live time, but which has now been cleared, as well as the early announcement? Because from what I understand, aria-busy is supposed to suppress live region announcements until it is cleared. So I would have expected, and others have also confirmed this, that the updated text should speak after two seconds, not one.
chris fleizach
Comment 5
2020-12-22 23:09:28 PST
(In reply to
mzehe@mozilla.com
from
comment #4
)
> Thanks, Chris! Does this include both the constant "busy" announcement on > elements that had aria-busy set during their live time, but which has now > been cleared, as well as the early announcement? Because from what I > understand, aria-busy is supposed to suppress live region announcements > until it is cleared. So I would have expected, and others have also > confirmed this, that the updated text should speak after two seconds, not > one.
ah I see. I doubt that aria live region updates are being processed after an Aria-busy is removed. Do you have an specification you can point to that says these aria live regions should be processed after an aria-busy is removed? I didn't find one in WAI-ARIA for aria-busy @JamesCraig?
Marco Zehe
Comment 6
2021-03-26 08:06:47 PDT
The best non-spec explanation I found was this:
https://www.digitala11y.com/aria-busy-state/
. After aria-busy is cleared, updates should be processed. aria-busy is there to suppress live region changes that may occur as long as aria-busy is true, and then a single update should happen when aria-busy is cleared. There are also examples given.
Canhai Chen
Comment 7
2021-03-26 16:19:22 PDT
I can confirm that if a live region is set to aria-busy="true", VoiceOver will defer the live region update until the region is no longer busy. With the VoiceOver bug being fixed, in the test case above, VO will speak "updated" after 2 seconds when the busy status is removed.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug