In 4.1.2. Phase II: Trimming and Positioning:
Then, the entire block is rendered. Inlines are laid out,[…] and wrapping as specified by the white-space property. As each line is laid out,
[…]
3. A sequence of collapsible spaces at the end of a line is removed,[…]
Given the above procedure, the markup:
<style>div {
border: solid;
font-family: monospace;
width: 1ch;
}</style>
<div>a b</div>
would first have <div> broken into two lines: a (a followed by a space) and b, then the space would be removed.
However, removing the space:
-
is clearly different from what UAs currently do;
-
is contradictory to UAX #14;
-
renders the first case in Step 4 in 4.1.2. Phase II: Trimming and Positioning unreachable:
If white-space is set to normal, nowrap, or pre-line, the UA must hang this sequence (unconditionally).
So what's the correct interpretation of Step 3?
In 4.1.2. Phase II: Trimming and Positioning:
Given the above procedure, the markup:
would first have
<div>broken into two lines:a(afollowed by a space) andb, then the space would be removed.However, removing the space:
is clearly different from what UAs currently do;
is contradictory to UAX #14;
renders the first case in Step 4 in 4.1.2. Phase II: Trimming and Positioning unreachable:
So what's the correct interpretation of Step 3?