Skip to content

Commit a0cca81

Browse files
committed
[css-writing-modes] Correct rules for finding the page progression direction. Correct rules for writing-mode/direction propagation.
1 parent f921b80 commit a0cca81

File tree

1 file changed

+57
-41
lines changed

1 file changed

+57
-41
lines changed

css-writing-modes/Overview.bs

+57-41
Original file line numberDiff line numberDiff line change
@@ -2309,51 +2309,67 @@ Purely Physical Mappings</h3>
23092309
</ul>
23102310
-->
23112311

2312-
<h2 id="special-elements">
2313-
Initial Containing Block, Page, and Special Elements</h2>
2314-
2315-
<h3 id="propagate-to-icb">
2316-
Propagating to the Initial Containing Block</h3>
2317-
2318-
<p>The values of the 'direction' and the 'writing-mode' properties of the root element
2319-
are propagated to the initial containing block and sets the block flow
2320-
direction of the initial block formatting context.
2321-
2322-
<p>If the root element has body child elements [[!HTML5]],
2323-
user agents must propagate the computed values of
2324-
the 'writing-mode' and the 'direction' properties
2325-
from the first body child element
2326-
to the root element
2327-
before they are propagated to the initial containing block.
2328-
The propagated values are treated as if they were specified on the root element.
2312+
<h2 id="principal-flow">
2313+
The Principal Writing Mode</h2>
2314+
2315+
<p>The <dfn export>principal writing mode</dfn> of the document
2316+
is determined by the 'writing-mode' and 'direction' values
2317+
specified on the root element.
2318+
This writing mode is used, for example,
2319+
to determine the direction of scrolling
2320+
and the default <a>page progression</a> direction.
2321+
2322+
<p>As a special case for handling HTML documents,
2323+
if the root element has a <code>&lt;body></code> child element [[!HTML5]],
2324+
the <a>principal writing mode</a> is instead taken
2325+
from the values of 'writing-mode' and 'direction' on the first such child element
2326+
instead of taken from the root element.
2327+
Note that this does not affect the values of 'writing-mode' or 'direction'
2328+
on the root element itself.
2329+
2330+
<h3 id="icb">
2331+
Propagation to the Initial Containing Block</h3>
2332+
2333+
<p>The <a>principal writing mode</a> is propagated to
2334+
the <a>initial containing block</a>
2335+
and to the viewport,
2336+
thereby affecting the layout of the root element
2337+
and the scrolling direction of the viewport.
2338+
2339+
Issue: Does it also propagate to @page boxes?
23292340

23302341
<h3 id="page-direction">
23312342
Page Flow: the page progression direction</h2>
23322343

2333-
<p>The <dfn export>principal writing mode</dfn> of the
2334-
document is determined by the 'writing-mode' and 'direction' values
2335-
specified on the root element. This writing mode is used, for example,
2336-
to determine the default page progression direction. (See [[CSS3PAGE]].)
2337-
2338-
<p>In paged media CSS2.1 classifies all pages as either left or right pages.
2339-
The page progression direction, which determines whether the left or right
2340-
page in a spread is first in the flow and whether the first page is by
2341-
default a left or right page, depends on the writing direction as follows:
2344+
<p>In paged media CSS classifies all pages as either left or right pages.
2345+
The <a>page progression</a> direction (see [[CSS3PAGE]]),
2346+
which determines whether the left or right page in a spread is first in the flow
2347+
and whether the first page is by default a left or right page,
2348+
depends on the <a>principal writing mode</a> as follows:
23422349

2343-
<ol>
2344-
<li>If the root element's 'writing-mode' is ''vertical-rl'',
2345-
the page progression is right-to-left.
2346-
<li>Otherwise if the root element's 'writing-mode' is ''vertical-lr'',
2347-
the page progression is left-to-right.
2348-
<li>Otherwise if the root element's 'direction' is ''rtl'',
2349-
the page progression is right-to-left.
2350-
<li>Otherwise
2351-
the page progression is left-to-right.
2352-
</ol>
2350+
<table class="data">
2351+
<thead>
2352+
<tr>
2353+
<th><a>principal writing mode</a>
2354+
<th><a>page progression</a>
2355+
<tbody>
2356+
<tr>
2357+
<td>''horizontal-tb'' and ''ltr''
2358+
<td>left-to-right
2359+
<tr>
2360+
<td>''horizontal-tb'' and ''rtl''
2361+
<td>right-to-left
2362+
<tr>
2363+
<td>''vertical-rl'' or ''sideways-rl''
2364+
<td>right-to-left
2365+
<tr>
2366+
<td>''vertical-lr'' or ''sideways-lr''
2367+
<td>left-to-right
2368+
</table>
23532369

2354-
<p>(Unless otherwise overridden, the first page of a document begins on the
2355-
second half of a spread, e.g. on the right page in a left-to-right page
2356-
progression.)
2370+
Note: Unless otherwise overridden,
2371+
the first page of a document begins on the second half of a spread,
2372+
e.g. on the right page in a left-to-right page progression.
23572373

23582374
<h2 id="text-combine">
23592375
Glyph Composition</h2>
@@ -2613,8 +2629,8 @@ Full-width Characters</h5>
26132629
Removed statements about ''run-in'' boxes, since this value was removed from CSS2.1 and has a substantially different model in CSS Display Level 3.
26142630
Replaced with a generalized statement about all display types, using new [[!CSS-DISPLAY-3]] terminology.
26152631
<li>
2616-
Changed to <a href="#propagate-to-icb">propagate the computed values</a> of the 'writing-mode' and the 'direction' property
2617-
from body child element to the root element.
2632+
Changed to <a href="#principal-writing-mode">propagate the computed values</a> of the 'writing-mode' and the 'direction' property
2633+
from body child element to the initial containing block.
26182634
<li>
26192635
Changed the 'caption-side' property to <a href="#logical-direction-layout">flow-relative mappings</a>.
26202636
<li>

0 commit comments

Comments
 (0)