| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="../resources/accessibility-helper.js"></script> |
| <script src="../resources/js-test.js"></script> |
| </head> |
| <body> |
| |
| <div id="content" hidden="until-found"> |
| <p>Revealed paragraph text.</p> |
| </div> |
| |
| <script> |
| var output = "This test ensures content revealed by programmatically removing hidden='until-found' becomes reachable by assistive technologies (and becomes unreachable again when re-hidden).\n\n"; |
| |
| if (window.accessibilityController) { |
| window.jsTestIsAsync = true; |
| |
| var webArea = accessibilityController.rootElement.childAtIndex(0); |
| function revealedTextIsReachable() { |
| return dumpAXSearchTraversal(webArea).includes("Revealed paragraph text."); |
| } |
| |
| var content = document.getElementById("content"); |
| |
| output += "While hidden='until-found', the revealed text should not be reachable:\n"; |
| output += expect("revealedTextIsReachable()", "false"); |
| |
| setTimeout(async function() { |
| content.hidden = false; |
| output += "\nAfter programmatically removing hidden='until-found', the revealed text should be reachable:\n"; |
| output += await expectAsync("revealedTextIsReachable()", "true"); |
| |
| content.hidden = "until-found"; |
| output += "\nAfter programmatically re-applying hidden='until-found', the revealed text should not be reachable:\n"; |
| output += await expectAsync("revealedTextIsReachable()", "false"); |
| |
| debug(output); |
| finishJSTest(); |
| }, 0); |
| } |
| </script> |
| </body> |
| </html> |