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

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

<script>
    description("Make sure that a debug assert is not triggered when a call to LayoutBlockFlow::deleteLineBoxTree calls AccessibilityRenderObject::accessibilityIsIgnored which may require the AXObject for a node that is being deleted.");

    var label = document.createElement('label');
    label.style.position = 'fixed';
    document.body.appendChild(label);

    var progress = document.createElement('progress');
    progress.style.display = 'block';
    label.appendChild(progress);

    var kbd = document.createElement('kbd');
    label.appendChild(kbd);

    var labelShadow = label.createShadowRoot();

    var select = document.createElement('select');
    select.setAttribute('multiple', 'multiple');
    labelShadow.appendChild(select);

    var shadow = document.createElement('shadow');
    labelShadow.appendChild(shadow);

    select.focus();

    document.body.removeChild(label);

</script>
</body>
</html>
