<!doctype html>
<title>CSS Container Queries Test: Canvas as dynamic size container for focusable child with display</title>
<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/cq-testcommon.js"></script>
<style>
  canvas {
    display: block;
    width: 100px;
    height: 100px;
    container-type: size;
  }
  #target { display: none; }
  @container (width = 200px) {
    #target { display: block; }
  }
</style>
<p>Test passes if there is a filled green square.</p>
<canvas id="canvas">
  <div id="target" tabIndex="1"></div>
</canvas>
<script>
  setup(() => assert_implements_container_queries());

  test(() => {
    target.focus();
    assert_not_equals(document.activeElement, target);
  }, "Initially display:none, not focusable");

  test(() => {
    canvas.style.width = "200px";
    target.focus();
    assert_equals(document.activeElement, target);
  }, "Focusable after container size change");
</script>
