<!DOCTYPE html>
<meta charset="utf-8">
<title>HTML Test: focus - the sequential focus navigation order with shadow dom and negative host tabindex</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#sequential-focus-navigation">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="resources/shadow-utils.js"></script>
<body>
<script>
// Structure:
// <div #aboveHost tabindex=0>
// <div #host tabindex=-1>
//    #shadowRoot
//      <div #aboveSlot tabindex=0>
//      <slot #slotAbove tabindex=0>
//        (slotted) <div #slottedAbove tabindex=0>
//      <slot #slotBelow tabindex=0>
//        (slotted) <div #slottedBelow tabindex=0>
//      <div #belowSlot tabindex=0>
// <div #belowHost tabindex=0>

promise_test(() => {
  let elementsInFlatTreeOrder;
  let [aboveHost, host, aboveSlot, slotAbove, slottedAbove, slotBelow, slottedBelow, belowSlot, belowHost] =
    elementsInFlatTreeOrder = prepareDOM(document.body, false);
  setTabIndex(elementsInFlatTreeOrder, 0);
  host.tabIndex = -1;
  resetFocus();
  // Focus willl only move within the focus navigation scope of the document (not going to get into #host).
  return assertFocusOrder([aboveHost, belowHost]);
}, "Order when all tabindex=0 except for host, which has tabindex=-1");
</script>
</body>
