- From: CSS Meeting Bot via GitHub <noreply@w3.org>
- Date: Fri, 14 Nov 2025 00:40:56 +0000
- To: public-css-archive@w3.org
The CSS Working Group just discussed `[css2][css-tables] Cells spanning collapsed track`, and agreed to the following: * `RESOLVED: go with blink behavior, fixing the alignment bug` * `RESOLVED: Spanning cells get relaid out when rows/cols are collapsed` <details><summary>The full IRC log of that discussion</summary> <noamr> oriol: in tables you might have a cell that spans multiple cols/rows. one of them can be collapsed. what CSS2 says is that the area that is intersecting the collapsed track should be clipped. it's weird e.g. when there is text intersecting this<br> <noamr> oriol: webkit doesn't implement collapsed tracks. In gecko, in the inline-axis, it would overflow. in the vertical case, in gecko vertical aligment applies first and then it can overflow<br> <noamr> oriol: in blink vertical alignment happens after collapsed row, unsafely<br> <noamr> oriol: in servo we do something similar in a safe way<br> <noamr> oriol: maybe we should decide on something<br> <astearns> q+<br> <noamr> iank_: it was concious decision to relayout at the new width because of the inline overflow case. you have potentially more block size than inline size. it's a tradeoff to try not to overflow inline direction<br> <astearns> ack astearns<br> <noamr> astearns: I don't like the alignment in blink. I don't have a good idea of what we should do here, but having the content at least start and overflow in the writing mode appropriate ways is better than hoisting at the start of the cell<br> <noamr> oriol: we already resolved on on vertical aligning safely. but there is a q of whether vertical alignment should be before/after collapsing<br> <astearns> ack fantasai<br> <astearns> s/ at the start/ above the start/<br> <noamr> fantasai: the original collapse was supposed to not impact layout for perf reasons. tables 25 years ago were very expensive. it's not a good behavior. what people would actually want is to do an extra table layout but that's complicated<br> <noamr> fantasai: reflowing the spanning cell would be helpful from a user perspective. overflowing is not great. but we can't reflow everything because of perf/complexity. we should align with blink/servo<br> <noamr> iank_: we haven't implemented safe centering. does servo reflow in the inline direction?<br> <noamr> oriol: no<br> <noamr> iank_: overflowing block is better than overflowing inline<br> <noamr> fantasai: if we go with not reflowing. servo is the most consistent with this. it adjusts the alignment, and will get a good result when fits. blink reflows the spanning cells but not the middle, it's half way this and half way that<br> <noamr> fantasai: I think servo's behavior is better here. if we want something that reflows, we should reflow all the relevant rows and columns<br> <emilio> +1<br> <noamr> astearns: mild preference to avoid reflow because it's not fixing enough to be worth it, for overflow cases<br> <noamr> astearns: a simpler set of specified steps for edge cases that authors are likely avoid<br> <noamr> iank_: we have to reflow the collapsed cells<br> <noamr> fantasai: you can either removed the collapsed cells and adjust the size. or pretend those cells don't exist and reflow the table. halfway is not great<br> <noamr> fantasai: they can set overflow on the cell<br> <noamr> iank_: blink behavior keeps text readable if it's in the spanning cell<br> <noamr> oriol: my mild concern is that doing the blink behavior of reflowing would have extra perf cost<br> <noamr> fantasai: this was designed for large tables of data. there are usually less spanning cells in those tables<br> <kizu> q+<br> <noamr> iank_: we can also disallow collapsing when there are spanning cells. you have to collapse all the columns and rows affected<br> <TabAtkins> Given the use-case for spanners in this case could be, like, "large header cell describing multiple columns", reflowing the spanner does seem like the right idea.<br> <noamr> fantasai: not sure this is viable<br> <fantasai> s/this/"don't collapse if there's a spanner"/<br> <noamr> kizu: if we add overflow:auto to the spanning cell, it works fine in chrome, in firefox it's just doesn't overflow<br> <noamr> emilio: this is a known issue, not related to this<br> <noamr> fantasai: main thing is that you have text-align based alignment it gets fixed up<br> <noamr> iank_: I would prefer to reflow then<br> <noamr> fantasai: we have to reflow then<br> <noamr> astearns: two options, to specify servo's behavior that doesn't relayout. the other is to specify blink behaviors (% the alignment bug) that does relayout<br> <noamr> fantasai: because of text-align we should probably go with relayout<br> <noamr> astearns: it also avoids some overflow<br> <noamr> PROPOSED RESOLUTION: go with blink behavior, fixing the alignment bug)<br> <noamr> RESOLVEd: go with blink behavior, fixing the alignment bug<br> <noamr> RESOLVED: go with blink behavior, fixing the alignment bug<br> <fantasai> RESOLVED: Spanning cells get relaid out when rows/cols are collapsed<br> </details> -- GitHub Notification of comment by css-meeting-bot Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11799#issuecomment-3530329982 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 14 November 2025 00:40:57 UTC