Skip to content

Commit e27ef03

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

File tree

1 file changed

+51
-6
lines changed

1 file changed

+51
-6
lines changed

css-display-4/Overview.bs

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,8 +1148,8 @@ Reading Order: the 'reading-order' property</h3>
11481148

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

11671179
The 'reading-order' property affects neither layout nor painting order
11681180
and therefore has no effect on rendering to the visual [=canvas=].
@@ -1186,6 +1198,39 @@ Reading Order: the 'reading-order' property</h3>
11861198

11871199
ISSUE: Is this the most appropriate interaction with with <code>tabindex</code>?
11881200

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

0 commit comments

Comments
 (0)