| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../resources/js-test-pre.js"></script> |
| <script src="../resources/accessibility-helper.js"></script> |
| </head> |
| <body> |
| <div id="content"> |
| <div> |
| <input type="checkbox" id="test1" /> |
| <label for="test1" id="label1">Flash the screen |
| <ul role="listbox" style="list-style-type: none;"> |
| <li role="option" aria-selected="false">1</li> |
| <li role="option" aria-selected="true">2</li> |
| <li role="option">3</li> |
| </ul> |
| times. |
| </label> |
| </div> |
| <div> |
| <input type="checkbox" id="test2" /> |
| <label for="test2" id="label2">Flash the screen |
| <div role="combobox" id="combobox"> |
| <div role="textbox" id="textbox"></div> |
| <ul role="listbox" id="listbox" style="list-style-type: none;"> |
| <li role="option" id="option1" aria-selected="false">1</li> |
| <li role="option" id="option2" aria-selected="true">2</li> |
| <li role="option" id="option3">3</li> |
| </ul> |
| </div> |
| times. |
| </label> |
| </div> |
| <div> |
| <input type="checkbox" id="test3" /> |
| <label for="test3" id="label3">Flash the screen |
| <select size="1"> |
| <option>1</option> |
| <option selected>2</option> |
| <option>3</option> |
| </select> |
| times. |
| </label> |
| </div> |
| <div> |
| <input type="checkbox" id="test4" /> |
| <label for="test4" id="label4">Flash the screen |
| <select size="3"> |
| <option>1</option> |
| <option selected>2</option> |
| <option>3</option> |
| </select> |
| times. |
| </label> |
| </div> |
| </div> |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| description("This tests text alternative calculation from label with an embedded listbox."); |
| if (window.accessibilityController) { |
| for (var i = 1; i <= 4; i++) { |
| // Touching the accessibility tree prevents test flakiness in macOS. |
| // In particular, when this file is viewed with Accessibility Inspector, |
| // the AXTitle is displayed as expected for all four tests. But when we |
| // run this test as a layout test without first touching the accessibility |
| // tree, the AXTitle is often the empty string for most if not all tests. |
| var axLabel = accessibilityController.accessibleElementById("label" + i); |
| touchAccessibilityTree(axLabel); |
| |
| var axElement = accessibilityController.accessibleElementById("test" + i); |
| debug("Test " + i + ": " + axElement.title); |
| } |
| document.getElementById("content").style.visibility = "hidden"; |
| } |
| </script> |
| |
| <script src="../resources/js-test-post.js"></script> |
| </body> |
| </html> |