| <!-- |
| @BLINK-ALLOW:offscreen |
| @WAIT-FOR:doneCommitting |
| --> |
| <div> |
| <div style="height:10000px;">spacer so that everything below will be offscreen (and won't get viewport-activated)</div> |
| <div id="locked" style="content-visibility: auto"> |
| <div>child text will be in AX tree but without layout</div> |
| <div id="nested" style="content-visibility: auto"> |
| nested activatable locked element will be in AX tree but without layout |
| </div> |
| </div> |
| normal text 1 |
| <div id="nonViewportActivatable" hidden=until-found> |
| nested non-viewport-activatable locked element will not be in AX tree |
| </div> |
| normal text 2 |
| <div id="nonActivatable" style="content-visibility: hidden"> |
| nested non-activatable locked element will not be in AX tree |
| </div> |
| normal text 3 |
| <div id="statusDiv"></div> |
| </div> |
| |
| <script> |
| // Force layout, then commit everything. |
| locked.removeAttribute("style"); |
| nested.removeAttribute("style"); |
| nonViewportActivatable.removeAttribute("style"); |
| nonActivatable.removeAttribute("style"); |
| window.requestAnimationFrame(() => { |
| window.requestAnimationFrame(() => { |
| statusDiv.innerText = "doneCommitting"; |
| }); |
| }); |
| </script> |