<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">

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

<script>

    description("This tests that when enable enhanced accessibility is true and no other accessibility API is called, the load notification will successfully fire.");

    function notifyCallback(element, notification) {
        if (notification == "AXLoadComplete")
            finishJSTest();
    }

    if (window.accessibilityController) {
        jsTestIsAsync = true;
        accessibilityController.enableEnhancedAccessibility(true);
        var addedNotification = accessibilityController.addNotificationListener(notifyCallback);
        shouldBe("addedNotification", "true");
    }

</script>

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