blob: 46f5b37cc01ea615db259eec5e6bbdcf7525e4aa [file] [log] [blame]
<html>
<head>
<script src="../resources/accessibility-helper.js"></script>
<script src="../resources/js-test.js"></script>
</head>
<body>
<div id="textbox" role="textbox" tabindex="0"></div>
<script>
var testOutput = "This tests that changing the aria-required attribute is properly reflected in an AX object's required status.\n\n";
var axElement;
function verifyRequiredStatus() {
testOutput += `#textbox is required: ${axElement.isRequired}\n`;
}
function setAriaRequired(boolValue) {
testOutput += `Setting aria-required to ${boolValue} on #textbox.\n`;
document.getElementById("textbox").setAttribute("aria-required", `${boolValue}`);
}
if (window.accessibilityController) {
window.jsTestIsAsync = true;
axElement = accessibilityController.accessibleElementById("textbox");
verifyRequiredStatus();
setAriaRequired(true);
setTimeout(async () => {
await waitFor(() => { return axElement.isRequired });
verifyRequiredStatus();
setAriaRequired(false);
await waitFor(() => { return !axElement.isRequired });
verifyRequiredStatus();
debug(testOutput);
finishJSTest();
}, 0);
}
</script>
</body>
</html>