| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test.js"></script> |
| <script src="../../resources/accessibility-helper.js"></script> |
| <div id="tree" role="tree"> |
| <custom-item id="item-1" role="treeitem"></custom-item> |
| <custom-item id="item-2" aria-setsize="50" aria-posinset="3"></custom-item> |
| </div> |
| <script> |
| |
| customElements.define('custom-item', class CustomItem extends HTMLElement { |
| constructor() |
| { |
| super(); |
| const internals = this.attachInternals(); |
| internals.role = 'treeitem'; |
| internals.ariaSetSize = '100'; |
| internals.ariaPosInSet = '5'; |
| } |
| }); |
| |
| description("This tests that aria fallback roles work correctly."); |
| if (!window.accessibilityController) |
| debug('This test requires accessibilityController'); |
| else { |
| shouldBe('accessibilityController.accessibleElementById("item-1").numberAttributeValue("AXARIASetSize")', '100'); |
| shouldBe('accessibilityController.accessibleElementById("item-1").numberAttributeValue("AXARIAPosInSet")', '5'); |
| shouldBe('accessibilityController.accessibleElementById("item-2").numberAttributeValue("AXARIASetSize")', '50'); |
| shouldBe('accessibilityController.accessibleElementById("item-2").numberAttributeValue("AXARIAPosInSet")', '3'); |
| } |
| |
| </script> |
| </body> |
| </html> |