<!doctype html> <meta charset="utf-8"> <title>Overflow: clip hit testing doesn't include overflow: clip</title> <link rel="help" href="https://www.w3.org/TR/css-overflow-3/#valdef-overflow-clip"> <link rel="author" title="Scott Violet" href="mailto:sky@chromium.org"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style> .parent { width: 100px; height: 100px; flex: none; } .child1, .child2 { width: 100px; height: 100px; flex: none; } .child1 { background-color: green; } .child2 { background-color: red; } </style> <div class="parent" style="display: flex; overflow-x: visible; overflow-y: clip"> <div id="c1" class="child1"></div> <div id="hit1" class="child2"></div> </div> <div class="parent" style="overflow-x: clip; overflow-y: visible"> <div id="c2" class="child1"></div> <div id="hit2" class="child2"></div> </div> <script> test(() => { var c1Bounds = document.getElementById("c1").getBoundingClientRect(); var hitElement = document.elementFromPoint(c1Bounds.x + 150, c1Bounds.y + 50); assert_equals(hitElement.id, "hit1"); var c2Bounds = document.getElementById("c2").getBoundingClientRect(); hitElement = document.elementFromPoint(c2Bounds.x + 50, c2Bounds.y + 150); assert_equals(hitElement.id, "hit2"); }, "Ensure elements in overflow:visible are returned from elementFromPoint"); </script>