Skip to content

Commit ea0929a

Browse files
committed
[css-display-4] Define 'reading-order: auto' #7387
1 parent 7877ce6 commit ea0929a

1 file changed

Lines changed: 53 additions & 8 deletions

File tree

css-display-4/Overview.bs

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,15 +1043,15 @@ Display Order Shorthand: the 'order' property</h3>
10431043
<dd>
10441044
If one integer and no keyword is specified,
10451045
then sets 'layout-order' to the specified integer,
1046-
and sets 'reading-order' to zero.
1046+
and sets 'reading-order' to ''reading-order/auto''.
10471047
If two integers are specified,
10481048
the first sets 'layout-order' and the second sets 'reading-order'.
10491049
Otherwise sets the appropriate [=longhand=](s) to the specified integer(s).
10501050

10511051
<dt><dfn>layout</dfn>
10521052
<dd>
10531053
Indicates setting 'layout-order' to the specified integer.
1054-
If ''reading'' is not specified, 'reading-order' is set to zero.
1054+
If ''reading'' is not specified, 'reading-order' is set to ''reading-order/auto''.
10551055

10561056
<dt><dfn>reading</dfn>
10571057
<dd>
@@ -1142,8 +1142,8 @@ Reading Order: the 'reading-order' property</h3>
11421142

11431143
<pre class='propdef'>
11441144
Name: reading-order
1145-
Value: <<integer>>
1146-
Initial: 0
1145+
Value: auto | <<integer>>
1146+
Initial: auto
11471147
Applies to: all elements
11481148
Inherited: no
11491149
Computed value: specified integer
@@ -1153,10 +1153,22 @@ Reading Order: the 'reading-order' property</h3>
11531153
The 'reading-order' property controls the order in which
11541154
elements are rendered to speech
11551155
or are navigated to when using (linear) sequention navigation methods.
1156-
It takes a single <dfn value for=reading-order><<integer>></dfn> value,
1157-
which specifies which ordinal group the item belongs to.
1158-
Sibling elements are ordered starting from the lowest numbered ordinal group and going up;
1159-
elements with the same ordinal group are keep the order they appear in the source document.
1156+
This is their <dfn>reading and navigation order</dfn>.
1157+
1158+
<dl dfn-type=value dfn-for=reading-order>
1159+
<dt><dfn>auto</dfn>
1160+
<dd>
1161+
Same as ''0'' except that in [=randomizing formatting contexts=]
1162+
(which are only reasonable to apply to inherently unordered content)
1163+
the reading order is matched to the layout order.
1164+
See [[#randomizing-layout]].
1165+
1166+
<dt><dfn><<integer>></dfn>
1167+
<dd>
1168+
Specifies which ordinal group the item belongs to.
1169+
Sibling elements are ordered starting from the lowest numbered ordinal group and going up;
1170+
elements with the same ordinal group are keep the order they appear in the source document.
1171+
</dl>
11601172

11611173
The 'reading-order' property affects neither layout nor painting order
11621174
and therefore has no effect on rendering to the visual [=canvas=].
@@ -1180,6 +1192,39 @@ Reading Order: the 'reading-order' property</h3>
11801192

11811193
ISSUE: Is this the most appropriate interaction with with <code>tabindex</code>?
11821194

1195+
<h4 id="randomizing-layout">
1196+
Randomizing Layout Methods and ''reading-order: auto''</h4>
1197+
1198+
<dfn>Randomizing formatting contexts</dfn>
1199+
are formatting contexts that can indiscriminately scramble the layout order,
1200+
as listed below.
1201+
Since use of such methods indicates that the underlying order of the elements
1202+
is not important,
1203+
the UA will match the [=reading and navigation order=] of the elements
1204+
to match the layout order of their boxes as follows:
1205+
1206+
<dl>
1207+
<dt>''grid-auto-flow: dense''
1208+
<dd>
1209+
When ''grid-auto-flow: dense'' <a spec=css-grid-1>automatic placement</a>
1210+
changes the relative order of an item
1211+
with respect to other items with ''reading-order/auto'' or ''reading-order/0'' 'reading-order'
1212+
by shifting it earlier in the grid placement order,
1213+
then its placement in the [=reading and navigation order=] is likewise shifted.
1214+
1215+
<div class="example">
1216+
For example, [=grid items=] are laid out in a ''grid-auto-flow: column dense'' grid,
1217+
they are first re-ordered to [=order-modified document order=]
1218+
before applying the [[css-grid-1#auto-placement-algo]].
1219+
Among the subset of these items whose ''reading-order'' is ''0'' or ''auto'',
1220+
those with ''reading-order: auto'' are shifted
1221+
to the latest position in the [=reading and navigation order=]
1222+
that is also after any items with ''reading-order: 0'' or ''reading-order: auto''
1223+
that came earlier in the [=grid-modified document order=]
1224+
(with the major axis as specified by ''grid-auto-flow'').
1225+
</div>
1226+
</dl>
1227+
11831228
<h3 id='layout-order'>
11841229
Box Order: the 'layout-order' property</h3>
11851230

0 commit comments

Comments
 (0)