Status: FAIL | Duration: 53ms | Subtests: 3/6 | Open test on wpt.live | wpt.fyi
Data from commit:
7727414 ci: report WPT subtest changes in the PR description (#826) (2026-09-02)
| Subtest | Status | Message |
|---|---|---|
| table size is interpreted as border-box width by default | PASS | |
| table size is interpreted as minimum width | FAIL | assert_equals: expected 200 but got 100 |
| table size border-box | PASS | |
| table size border-box interpreted as minimum width | FAIL | assert_equals: expected 200 but got 100 |
| table size content-box | PASS | |
| table size content-box interpreted as minimum width | FAIL | assert_equals: expected 200 but got 100 |
/css/css-position/position-absolute-table-001.html
<!DOCTYPE html> <title>CSS Position Absolute: table width/height</title> <link rel="author" href="mailto:atotic@google.com"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <link rel="help" href="https://www.w3.org/TR/css-position-3/#abs-non-replaced-width"> <meta name="assert" content="Table css width/height are different. Make sure absolute position respects the differences."> <style> .container { margin-bottom: 8px; position: relative; width: 300px; height: 220px; background: gray; } table { position: absolute; border: 10px solid green; width: 100px; height: 100px; background: yellow; right: 0; bottom: 0; padding: 10px; border-spacing: 0 0; } .contentbox { box-sizing: content-box; width: 60px; height: 60px; } td { padding: 0; } </style> <p>Table css width/height are interpreted differently: they are the minimum width. Absolute positioning code should respect this.</p> <div class="container"> <table id="one"> <td>t1</td> </table> </div> <div class="container"> <table id="two"> <td><div style="width:160px;height:160px;background:orange">div makes cell larger.</div></td> </table> </div> <div class="container"> <table id="one-border" style="box-sizing: border-box"> <td>t1</td> </table> </div> <div class="container"> <table id="two-border" style="box-sizing: border-box"> <td><div style="width:160px;height:160px;background:orange">div makes cell larger.</div></td> </table> </div> <div class="container"> <table id="one-content" class="contentbox"> <td>t1</td> </table> </div> <div class="container"> <table id="two-content" class="contentbox"> <td><div style="width:160px;height:160px;background:orange">div makes cell larger.</div></td> </table> </div> <script> test(() => { let t = document.getElementById("one"); assert_equals(t.offsetWidth, 100); assert_equals(t.offsetHeight, 100); assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0"); assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0"); }, 'table size is interpreted as border-box width by default'); test(() => { let t = document.getElementById("two"); assert_equals(t.offsetWidth, 200); assert_equals(t.offsetHeight, 200); assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0"); assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0"); }, 'table size is interpreted as minimum width'); test(() => { let t = document.getElementById("one-border"); assert_equals(t.offsetWidth, 100); assert_equals(t.offsetHeight, 100); assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0"); assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0"); }, 'table size border-box'); test(() => { let t = document.getElementById("two-border"); assert_equals(t.offsetWidth, 200); assert_equals(t.offsetHeight, 200); assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0"); assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0"); }, 'table size border-box interpreted as minimum width'); test(() => { let t = document.getElementById("one-content"); assert_equals(t.offsetWidth, 100); assert_equals(t.offsetHeight, 100); assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0"); assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0"); }, 'table size content-box'); test(() => { let t = document.getElementById("two-content"); assert_equals(t.offsetWidth, 200); assert_equals(t.offsetHeight, 200); assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0"); assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0"); }, 'table size content-box interpreted as minimum width'); </script>