Skip to content

Commit 8a1ee6d

Browse files
committed
Update definitions to make reading flow item a scope owner
1 parent afc58f8 commit 8a1ee6d

File tree

1 file changed

+33
-79
lines changed

1 file changed

+33
-79
lines changed

source

+33-79
Original file line numberDiff line numberDiff line change
@@ -79792,7 +79792,8 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
7979279792
<p>A node is a <dfn>focus navigation scope owner</dfn> if it is a <code>Document</code>, a
7979379793
<span>shadow host</span>, a <span>slot</span>, an element in the <span
7979479794
data-x="popover-showing-state">popover showing state</span> which also has a <span>popover
79795-
invoker</span> set, or a <span>reading flow scope owner</span>.</p>
79795+
invoker</span> set, a <span>reading flow container scope owner</span> or a <span
79796+
data-x="reading-flow-item">reading flow item</span>.</p>
7979679797

7979779798
<p>Each <span>focus navigation scope owner</span> has a <dfn>focus navigation scope</dfn>, which
7979879799
is a list of elements. Its contents are determined as follows:</p>
@@ -79804,9 +79805,6 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
7980479805
<ol>
7980579806
<li><p>If <var>element</var>'s parent is null, then return null.</p></li>
7980679807

79807-
<li><p>If <var>element</var> is a <span>reading flow scope owner</span>, then return
79808-
<var>element</var>.</p></li>
79809-
7981079808
<li><p>If <var>element</var>'s parent is a <span>shadow host</span>, then return
7981179809
<var>element</var>'s <span>assigned slot</span>.</p></li>
7981279810

@@ -79819,6 +79817,9 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
7981979817
<li><p>If <var>element</var> is in the <span data-x="popover-showing-state">popover showing
7982079818
state</span> and has a <span>popover invoker</span> set, then return <var>element</var>.</p></li>
7982179819

79820+
<li><p>If <var>element</var> is a <span>reading flow container scope owner</span> or a <span
79821+
data-x="reading-flow-item">reading flow item</span>, then return <var>element</var>.</p></li>
79822+
7982279823
<li><p>Return <var>element</var>'s parent's <span>associated focus navigation owner</span>.</p></li>
7982379824
</ol>
7982479825

@@ -79829,8 +79830,8 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
7982979830
<p class="note">The order of elements within a <span>focus navigation scope</span> does not impact
7983079831
any of the algorithms in this specification. Ordering only becomes important for the
7983179832
<span>tabindex-ordered focus navigation scope</span>, <span>flattened tabindex-ordered focus
79832-
navigation scope</span> and <span>reading-flow focus navigation scope</span> concepts defined
79833-
below.</p>
79833+
navigation scope</span> and <span>reading-flow-ordered focus navigation scope</span> concepts
79834+
defined below.</p>
7983479835

7983579836
<p>A <dfn>tabindex-ordered focus navigation scope</dfn> is a list of <span data-x="focusable
7983679837
area">focusable areas</span> and <span data-x="focus navigation scope owner">focus navigation
@@ -79850,9 +79851,11 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
7985079851
</ul>
7985179852

7985279853
<p>The order within a <span>tabindex-ordered focus navigation scope</span> is determined by each
79853-
element's <span>tabindex value</span> and, for <span>reading-flow focus navigation scope</span>,
79854-
by the special rules provided by the <span>sequential navigation search algorithm</span>. The
79855-
<span>tabindex value</span> takes precedence over <span>reading flow</span>.</p>
79854+
element's <span>tabindex value</span>.</p>
79855+
79856+
<p>A <dfn>reading-flow-ordered focus navigation scope</dfn> is a <span>tabindex-ordered focus
79857+
navigation scope</span> whose <span>focus navigation scope owner</span> is a <span>reading flow
79858+
container scope owner</span>. Its order is determined by the <span>reading flow order</span>.</p>
7985679859

7985779860
<p class="note">The rules there do not give a precise ordering, as they are composed mostly of
7985879861
"<!--non-normative-->should" statements and relative orderings.</p>
@@ -80098,7 +80101,7 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
8009880101
<span>'grid-rows'</span>, <span>'grid-columns'</span> or <span>'grid-order'</span>.</p></li>
8009980102
</ul>
8010080103

80101-
<p>A <dfn>reading flow scope owner</dfn> is either:</p>
80104+
<p>A <dfn>reading flow container scope owner</dfn> is either:</p>
8010280105

8010380106
<ul>
8010480107
<li><p>a <span>reading flow container</span>.</p></li>
@@ -80108,7 +80111,7 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
8010880111
</ul>
8010980112

8011080113
<p>A <dfn data-x="reading-flow-item">reading flow item</dfn> is an element whose <span>parent
80111-
element</span> is a <span>reading flow scope owner</span>.</p>
80114+
element</span> is a <span>reading flow container scope owner</span>.</p>
8011280115

8011380116
<p>A <dfn data-x="non-participating-reading-flow-item">non-participating reading flow item</dfn> is
8011480117

@@ -80120,10 +80123,7 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
8012080123
data-x="reading-flow-item">reading flow item</span> that is not a <span
8012180124
data-x="non-participating-reading-flow-item">non-participating reading flow item</span>.</p>
8012280125

80123-
<p>A <dfn>reading-flow focus navigation scope</dfn> is the <span>tabindex-ordered focus navigation
80124-
scope</span> of a <span>reading flow scope owner</span>.</p>
80125-
80126-
The <dfn>reading flow</dfn> order for a <span>reading-flow focus navigation scope</span> is
80126+
The <dfn>reading flow order</dfn> for a <span>reading-flow-ordered focus navigation scope</span> is
8012780127
determined by the scope owner's computed value of the <span>'reading-flow'</span> property:
8012880128

8012980129
<ul>
@@ -80158,6 +80158,9 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
8015880158
<span>tree order</span>.</p></li>
8015980159
</ul>
8016080160

80161+
<p>If a <span data-x="reading-flow-item">reading flow item</span> has a <span>tabindex value</span>
80162+
greater than zero, then let its value be readjusted to zero.</p>
80163+
8016180164
</div>
8016280165

8016380166
<div w-nodev>
@@ -80784,19 +80787,22 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
8078480787
focusable</span>.</p>
8078580788
</li>
8078680789

80787-
<li><p>If <var>candidate</var> is a <span data-x="reading-flow-item">reading flow item</span> or
80788-
null, <var>direction</var> is <i>forward</i>, and <var>starting point</var> is in a
80789-
<span>reading-flow focus navigation scope</span> <var>scope</var>, then let <var>new
80790-
candidate</var> be the result of running the <span>reading flow sequential navigation search
80791-
algorithm</span> given <var>candidate</var>, <var>direction</var>, and <var>starting
80792-
point</var>'s focus navigation <var>scope</var>.</p></li>
80790+
<li>
80791+
<p>If <var>starting point</var> is a <span data-x="reading-flow-item">reading flow item</span>
80792+
in a <span>reading-flow-ordered focus navigation scope</span> <var>scope</var>, then:</p>
80793+
80794+
<ol>
80795+
<li><p>Let <var>reading flow items</var> be the list of <span
80796+
data-x="reading-flow-item">reading flow items</span> owned by <var>scope</var>, sorted in
80797+
<span>reading flow order</span>.</p></li>
8079380798

80794-
<li><p>If <var>starting point</var> is a <span data-x="reading-flow-item">reading flow
80795-
item</span>, <var>direction</var> is <i>backward</i>, and <var>starting point</var> is in a
80796-
<span>reading-flow focus navigation scope</span> <var>scope</var>, then let <var>new
80797-
candidate</var> be the result of running the <span>reading flow sequential navigation search
80798-
algorithm</span> given <var>starting point</var>, <var>direction</var>, and <var>starting
80799-
point</var>'s focus navigation <var>scope</var>.</p></li>
80799+
<li><p>If <var>direction</var> is <i>forward</i>, then let <var>candidate</var> be the item
80800+
that comes after <var>starting point</var> in <var>reading flow items</var>.</p></li>
80801+
80802+
<li><p>Otherwise, let <var>candidate</var> be the item that comes before <var>starting
80803+
point</var> in <var>reading flow items</var>.</p></li>
80804+
</ol>
80805+
</li>
8080080806

8080180807
<li>
8080280808
<p>If <var>candidate</var> is a <span>navigable container</span> with a non-null <span>content
@@ -80819,58 +80825,6 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
8081980825
<li><p>Return <var>candidate</var>.</p></li>
8082080826
</ol>
8082180827

80822-
<p>The <dfn>reading flow sequential navigation search algorithm</dfn>, given a <span
80823-
data-x="reading-flow-item">reading flow item</span> <var>current</var>, a sequential focus
80824-
direction <var>direction</var> and a <span>reading-flow focus navigation scope</span>
80825-
<var>scope</var>, consists of the following steps. They return a <span>focusable
80826-
area</span>-or-null.</p>
80827-
80828-
<ol>
80829-
<li><p> Let <var>reading flow items</var> be the list of <span
80830-
data-x="reading-flow-item">reading flow items</span> owned by <var>scope</var>, sorted in
80831-
<span>reading flow</span>.</p></li>
80832-
80833-
<li><p>If <var>reading flow items</var> is empty, then return null.</p></li>
80834-
80835-
<li>
80836-
<p>If <var>direction</var> is <i>forward</i>, then:</p>
80837-
<ol>
80838-
<li><p>If <var>current</var> is the <span data-x="reading-flow-item">reading flow
80839-
item</span> from <var>reading flow items</var> that comes first in <span>tree order</span>,
80840-
return first item in <var>reading flow items</var>.</p></li>
80841-
80842-
<li><p>If <var>current</var> is null, let <var>previous</var> be the <span
80843-
data-x="reading-flow-item">reading flow item</span> from <var>reading flow items</var> that
80844-
comes last in <span>tree order</span>.</p></li>
80845-
80846-
<li><p>Otherwise, let <var>previous</var> be the <span data-x="reading-flow-item">reading
80847-
flow item</span> that comes before <var>current</var> in <span>tree order</span>.</p></li>
80848-
80849-
<li><p>If <var>previous</var> is the last item in <var>reading flow items</var>, then return
80850-
null. </p></li>
80851-
80852-
<li><p>Otherwise, return the <span data-x="reading-flow-item">reading flow item</span> that
80853-
comes after <var>previous</var> in <var>reading flow items</var>.</p></li>
80854-
</ol>
80855-
</li>
80856-
<li>
80857-
<p>Otherwise:</p>
80858-
<ol>
80859-
<li><p>Let <var>previous</var> be the <span data-x="list item">item</span> preceding
80860-
<var>current</var> in <var>reading flow items</var> if one exists, and null
80861-
otherwise.</p></li>
80862-
80863-
<li><p>If <var>previous</var> is null, then return null.</p></li>
80864-
80865-
<li><p>Otherwise, if <var>previous</var> does not have a <span
80866-
data-x="concept-tree-child">child</span>, return <var>previous</var>.</p></li>
80867-
80868-
<li><p>Otherwise, return the <span data-x="concept-tree-last-child">last child</span> of
80869-
<var>previous</var>.</p></li>
80870-
</ol>
80871-
</li>
80872-
</ol>
80873-
8087480828
</div>
8087580829

8087680830

0 commit comments

Comments
 (0)