Replying to @tabatkins @mavoweb
Whoa. That sounds pretty major!
1
Yup, it's bonkers as hell. No clue how/why it was originally implemented that way.
1
Perhaps because it was easier to hook into existing tree handling than special case markers?
1
Nah, correct would just make it a child of the <li>. Making it a child of a block descendant doesn't make anything simpler, I'd think.
2
There must be some special handling, because look: dabblet.com/gist/2abfc8f1ec1… The marker stays behind.
2
FWIW, bullet vertical positioning is hard. There are a bunch of cases Firefox gets wrong. Should break down into 3 basic cases:
1
1. bullet positioned next to a line box, if the first inline descendant (non-replaced or replaced) of the block is in a line box
1
2. bullet positioned next to a non-inline replaced descendant, if the first inline or replaced descendant (1^ wrong) is non-inline replaced
1
3 if no inline or replaced descendant, then bullet causes creation of a line box and is positioned next to it like 1.
1
1. should be: bullet is positioned next to a line box, if the first (depth-first) inline or replaced descendant of the block is inline
1
And I actually think Firefox layout of testcase is wrong: should be same as with textarea { vertical-align: baseline} (no display: block).

Aug 1, 2017 · 1:03 PM UTC

1
I put together a slightly more involved testcase. All the green cases are, I think, rendering as *intended* in Chrome; reds are bad.
1
I think you forgot the link.
1
1