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

<input id="range1" type="range">

<p id="description"></p>
<div id="console"></div>
<div id="notifications"></div>

<script>

    description("This tests that getting the indicator's value from a removed slider won't cause crash.");

    if (window.accessibilityController) {

        var range = accessibilityController.accessibleElementById("range1");
        var indicator = range.childAtIndex(0);
        
        // Remove the slider, make sure we getting value from the indicator won't cause crash.
        var rangeElement = document.getElementById("range1");
        document.body.removeChild(rangeElement);
        shouldBe("indicator.intValue", "0");
    }

</script>

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