@@ -79792,7 +79792,8 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
79792
79792
<p>A node is a <dfn>focus navigation scope owner</dfn> if it is a <code>Document</code>, a
79793
79793
<span>shadow host</span>, a <span>slot</span>, an element in the <span
79794
79794
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>
79796
79797
79797
79798
<p>Each <span>focus navigation scope owner</span> has a <dfn>focus navigation scope</dfn>, which
79798
79799
is a list of elements. Its contents are determined as follows:</p>
@@ -79804,9 +79805,6 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
79804
79805
<ol>
79805
79806
<li><p>If <var>element</var>'s parent is null, then return null.</p></li>
79806
79807
79807
- <li><p>If <var>element</var> is a <span>reading flow scope owner</span>, then return
79808
- <var>element</var>.</p></li>
79809
-
79810
79808
<li><p>If <var>element</var>'s parent is a <span>shadow host</span>, then return
79811
79809
<var>element</var>'s <span>assigned slot</span>.</p></li>
79812
79810
@@ -79819,6 +79817,9 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
79819
79817
<li><p>If <var>element</var> is in the <span data-x="popover-showing-state">popover showing
79820
79818
state</span> and has a <span>popover invoker</span> set, then return <var>element</var>.</p></li>
79821
79819
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
+
79822
79823
<li><p>Return <var>element</var>'s parent's <span>associated focus navigation owner</span>.</p></li>
79823
79824
</ol>
79824
79825
@@ -79829,8 +79830,8 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
79829
79830
<p class="note">The order of elements within a <span>focus navigation scope</span> does not impact
79830
79831
any of the algorithms in this specification. Ordering only becomes important for the
79831
79832
<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>
79834
79835
79835
79836
<p>A <dfn>tabindex-ordered focus navigation scope</dfn> is a list of <span data-x="focusable
79836
79837
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> {
79850
79851
</ul>
79851
79852
79852
79853
<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>
79856
79859
79857
79860
<p class="note">The rules there do not give a precise ordering, as they are composed mostly of
79858
79861
"<!--non-normative-->should" statements and relative orderings.</p>
@@ -80098,7 +80101,7 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
80098
80101
<span>'grid-rows'</span>, <span>'grid-columns'</span> or <span>'grid-order'</span>.</p></li>
80099
80102
</ul>
80100
80103
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>
80102
80105
80103
80106
<ul>
80104
80107
<li><p>a <span>reading flow container</span>.</p></li>
@@ -80108,7 +80111,7 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
80108
80111
</ul>
80109
80112
80110
80113
<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>
80112
80115
80113
80116
<p>A <dfn data-x="non-participating-reading-flow-item">non-participating reading flow item</dfn> is
80114
80117
@@ -80120,10 +80123,7 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
80120
80123
data-x="reading-flow-item">reading flow item</span> that is not a <span
80121
80124
data-x="non-participating-reading-flow-item">non-participating reading flow item</span>.</p>
80122
80125
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
80127
80127
determined by the scope owner's computed value of the <span>'reading-flow'</span> property:
80128
80128
80129
80129
<ul>
@@ -80158,6 +80158,9 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
80158
80158
<span>tree order</span>.</p></li>
80159
80159
</ul>
80160
80160
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
+
80161
80164
</div>
80162
80165
80163
80166
<div w-nodev>
@@ -80784,19 +80787,22 @@ dictionary <dfn dictionary>ToggleEventInit</dfn> : <span>EventInit</span> {
80784
80787
focusable</span>.</p>
80785
80788
</li>
80786
80789
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>
80793
80798
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>
80800
80806
80801
80807
<li>
80802
80808
<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> {
80819
80825
<li><p>Return <var>candidate</var>.</p></li>
80820
80826
</ol>
80821
80827
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
-
80874
80828
</div>
80875
80829
80876
80830
0 commit comments