AX: (iOS only) Some programmatic DOM changes are not noticed by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=166714
Summary AX: (iOS only) Some programmatic DOM changes are not noticed by VoiceOver
Jonathan Deutsch
Reported 2017-01-04 21:28:00 PST
If the DOM is programmatically changed, these changes are not picked up by VoiceOver. Example Code: ===================== <div id = "item1">item 1 (not hidden)</div> <div id = "item2" aria-hidden="true">item 2 (hidden via HTML)</div> <div id = "item3">item 3 (hidden via JS after 2s)</div> <div id = "item4">item 4 (not hidden)</div> <script> function changeHidden() { document.getElementById("item3").setAttribute("aria-hidden", "true"); } window.setTimeout(changeHidden, 4000); </script> ===================== After 4 seconds, item3 should no longer be navigable via swiping left/right in voice over because it is set to aria-hidden=true. However it still is. Some actions like double-tapping will get it to be properly hidden from navigation. Likewise, simply changing innerHTML may have the same result: ===================== <div id = "item1">item 1 (not hidden)</div> <div id = "output"></div> <script> function changeOutput() { output.innerHTML = "changed"; } window.setTimeout(changeOutput, 2000); </script> ===================== VO does not see the output div. This affects dynamic sites, like those generated by Tumult Hype. I am reproducing on iPad Pro with iOS 10.2.1 via: 1. Enabling VoiceOver 2. Swiping to the right
Attachments
test case (560 bytes, text/html)
2017-01-05 00:06 PST, James Craig
no flags
Radar WebKit Bug Importer
Comment 1 2017-01-04 21:28:12 PST
James Craig
Comment 2 2017-01-05 00:06:23 PST
Created attachment 298071 [details] test case
James Craig
Comment 3 2017-01-05 00:10:22 PST
I can reproduce in iOS. Behavior is correct in macOS.
Kim
Comment 4 2020-03-12 13:30:23 PDT
Is there any movement on this issue? We've been experiencing this issue on IOS 10+
Note You need to log in before you can comment on or make changes to this bug.