chromium/third_party/blink/web_tests/accessibility/selection-states.html

<html>
<head>
    <script src="../resources/js-test.js"></script>
</head>

<body id="body">

<select id="selectElement" multiple title="selectElement">
    <option SELECTED>Option 1</option>
    <option>Option 2</option>
    <option DISABLED>Option 3</option>
</select>

<p>This tests that we report the correct selection-related states.</p>

<p id="notDRT">This test should only be run inside of DumpRenderTree.</p>

<p id="console"></p>

<script>
    if (window.testRunner && window.accessibilityController) {
        document.getElementById("notDRT").style.visibility = "hidden";

        testRunner.dumpAsText();

        document.getElementById("selectElement").focus();

        var axSelectElement = accessibilityController.focusedElement;
        shouldBeTrue('axSelectElement.isMultiSelectable');
        shouldBeTrue('axSelectElement.childAtIndex(0).isIgnored');
        shouldBeTrue('axSelectElement.childAtIndex(0).childAtIndex(0).isSelectable');
        shouldBeTrue('axSelectElement.childAtIndex(0).childAtIndex(0).isSelected');
        shouldBeTrue('axSelectElement.childAtIndex(0).childAtIndex(1).isSelectable');
        shouldBeFalse('axSelectElement.childAtIndex(0).childAtIndex(1).isSelected');
        shouldBeFalse('axSelectElement.childAtIndex(0).childAtIndex(2).isSelectable');
        shouldBeFalse('axSelectElement.childAtIndex(0).childAtIndex(2).isSelected');
    }
</script>
</body>
</html>