Files
firefox/testing/web-platform/tests/css/cssom-view/offsetTopLeft-table-caption.html
Emilio Cobos Álvarez 8efd3e6ea1 Bug 1876640 - Fix offset* APIs on tables with captions. r=TYLin
The offset* APIs use the primary frame (the table wrapper frame) to
choose an offset parent, so if we stop at the table frame we skip the
offset between the wrapper and the table boxes.

Differential Revision: https://phabricator.services.mozilla.com/D200948
2024-02-07 17:15:15 +00:00

24 lines
1.1 KiB
HTML

<!doctype html>
<meta charset="utf-8">
<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetparent">
<title>offset* APIs on tables with captions.</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<table style="border-spacing: 0px">
<caption>I'm a <br>reasonably<br>tall caption.</caption>
<tr><td><span>I'm a cell.</span>
</table>
<script>
let td = document.querySelector("td");
let span = document.querySelector("span");
let caption = document.querySelector("caption");
let table = document.querySelector("table");
test(function() {
assert_equals(span.offsetParent, td, "<td> should be an offset parent");
assert_equals(td.offsetParent, table, "<table> should be an offset parent for <td>");
assert_equals(caption.offsetParent, table, "<table> should be an offset parent for <caption>");
assert_equals(caption.offsetTop, 0, "<caption> is at the top of its offsetParent");
assert_equals(td.offsetTop, caption.offsetHeight, "<td> is under the caption");
});
</script>