blob: bb1945f2afaae7d72a73e7914b9a9b6703f67b2b [file] [log] [blame] [edit]
<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<script src="../../resources/accessibility-helper.js"></script>
<custom-button id="button-1"></custom-button>
<custom-button id="button-2" aria-pressed="false" aria-required="false" aria-selected="false"></custom-button>
<script>
customElements.define('custom-button', class CustomButton extends HTMLElement {
constructor()
{
super();
const internals = this.attachInternals();
internals.role = 'button';
internals.ariaPressed = 'true';
internals.ariaRequired = 'true';
internals.ariaSelected = 'true';
}
});
description("This tests that aria fallback roles work correctly.");
if (!window.accessibilityController)
debug('This test requires accessibilityController');
else {
shouldBeEqualToString('accessibilityController.accessibleElementById("button-1").role', 'AXRole: AXCheckBox');
shouldBeEqualToString('accessibilityController.accessibleElementById("button-1").stringValue', 'AXValue: 1');
shouldBeTrue('accessibilityController.accessibleElementById("button-1").isRequired');
shouldBeTrue('accessibilityController.accessibleElementById("button-1").isSelected');
shouldBeEqualToString('accessibilityController.accessibleElementById("button-2").role', 'AXRole: AXCheckBox');
shouldBeEqualToString('accessibilityController.accessibleElementById("button-2").stringValue', 'AXValue: 0');
shouldBeFalse('accessibilityController.accessibleElementById("button-2").isRequired');
shouldBeFalse('accessibilityController.accessibleElementById("button-2").isSelected');
}
</script>
</body>
</html>