blob: f324ef75574814a52152ce9a632bb5043bf89fb2 [file] [log] [blame] [edit]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/accessibility-helper.js"></script>
<script src="../resources/js-test.js"></script>
</head>
<body>
<input id="input" type="text">
<label for="input">Enter</label>
<label id="label2" for="input">your</label>
<label id="label3" for="input">color</label>
<script>
var output = "This test ensures that inputs with multiple labels have the correct accessibility text exposed.\n\n";
if (window.accessibilityController) {
window.jsTestIsAsync = true;
var input = accessibilityController.accessibleElementById("input");
output += `Initial AX text: \n${platformTextAlternatives(input)}\n`;
output += evalAndReturn("document.getElementById('label2').remove();");
var newText;
setTimeout(async function() {
await waitFor(() => {
newText = platformTextAlternatives(input);
return !newText.includes("your");
});
output += `${newText}\n`;
output += evalAndReturn("document.getElementById('label3').innerText = 'choice';");
await waitFor(() => {
newText = platformTextAlternatives(input);
return !newText.includes("color");
});
output += `${newText}\n`;
output += evalAndReturn("document.getElementById('label3').innerHTML = 'decision';");
await waitFor(() => {
newText = platformTextAlternatives(input);
return newText.includes("decision");
});
output += `${newText}\n`;
debug(output);
finishJSTest();
}, 0);
}
</script>
</body>
</html>