You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>On devices such as TVs which do not have any pointing input device
1573
-
and which also lack a <codeclass="key">Tab</code> key to control sequentialnavigation,
1570
+
and which also lack a <codeclass="key">Tab</code> key to control <adata-link-type="dfn" herf="https://html.spec.whatwg.org/multipage/interaction.html#sequential-focus-navigation" href="https://html.spec.whatwg.org/multipage/interaction.html#sequential-focus-navigation" id="ref-for-sequential-focus-navigation">sequential focus navigation</a>,
1574
1571
it is recommended that arrow keys be used for that purpose without any modifier key.
1575
1572
On devices with a full keyboard,
1576
1573
the User Agent may use a combination of arrow keys with a modifier key.</p>
<p>The <dfnclass="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="focus-navigation-heuristic">focus navigation heuristic</dfn> determines which element should be focused next
1641
+
<p>The <dfnclass="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="focus-navigation-heuristic">focus navigation heuristic</dfn> runs these steps:</p>
1642
+
<ol>
1643
+
<lidata-md="">
1644
+
<p>Select the initially focused element.</p>
1645
+
<ol>
1646
+
<lidata-md="">
1647
+
<p>If there is a previously focused element, it is the initially focused element.</p>
1648
+
<lidata-md="">
1649
+
<p>Otherwise, among all the focusable areas, the element on the topmost and the leftmost in the
1650
+
current level of browsing context is the initially focused element.</p>
1651
+
</ol>
1652
+
<lidata-md="">
1653
+
<p>Let the initially focused element be the currently focused element.</p>
1654
+
<lidata-md="">
1655
+
<p>Move focus to the currently focused element.</p>
1656
+
<lidata-md="">
1657
+
<p>Get the direction of the spatial navigation.</p>
1658
+
<lidata-md="">
1659
+
<p>Find the candidate elements.</p>
1660
+
<pclass="note" role="note"><span>Note:</span> The element which is overlapped by the focused element is also the candidate element.</p>
1661
+
<ol>
1662
+
<lidata-md="">
1663
+
<p>If the up arrow key or the down arrow key is pressed, <var>axis A</var> is Y. Otherwise, the left
1664
+
arrow key or the right arrow key is pressed, <var>axis A</var> is X.</p>
1665
+
<lidata-md="">
1666
+
<p>If the right arrow key or the down arrow key is pressed, <var>direction D</var> is positive.
1667
+
Otherwise, the left arrow key or the up arrow key is pressed, <var>direction D</var> is negative.</p>
1668
+
<lidata-md="">
1669
+
<p>Find the candidate elements which satisfy the conditions below:</p>
1670
+
<ul>
1671
+
<lidata-md="">
1672
+
<p>The element should be focusable.</p>
1673
+
<lidata-md="">
1674
+
<p>The element should be visible within the viewport.</p>
1675
+
<lidata-md="">
1676
+
<p>The position of the center point of the element should be greater than that of the currently focused
1677
+
element in <var>direction D</var> on <var>axis A</var>.</p>
1678
+
<lidata-md="">
1679
+
<p>The position value of the edge in the navigation direction of the element should be greater than
1680
+
that of the currently focused element in <var>direction D</var> on <var>axis A</var>.</p>
1681
+
</ul>
1682
+
</ol>
1683
+
<lidata-md="">
1684
+
<p>Find the next focused element.</p>
1685
+
<ol>
1686
+
<lidata-md="">
1687
+
<p>Find the combination of the vertex on the currently focused element and the vertex on the
1688
+
candidate element which makes the shortest distance between two vertices.</p>
1689
+
<ul>
1690
+
<lidata-md="">
1691
+
<p>Select <var>vertex V1</var> from the currently focused element.</p>
1692
+
<lidata-md="">
1693
+
<p>Select <var>vertex V2</var> from the candidate element.</p>
1694
+
</ul>
1695
+
<lidata-md="">
1696
+
<p>Calculate the distance between <var>vertex V1</var> and <var>vertex V2</var> for each candidate
<pclass="note" role="note"><span>Note:</span> This refers to the <ahref="https://www.w3.org/TR/WICD/#focus-handling">old WICD Spec</a></p>
1701
+
<p><var>A</var> : The euclidian distance between <var>vertex V1</var> and <var>vertex V2</var>.</p>
1702
+
<p><var>B</var> : The absolute distance in the navigation direction between <var>vertex V1</var> and <var>vertex V2</var>.</p>
1703
+
<p><var>C</var> : The absolute distance in the direction which is orthogonal to the navigation
1704
+
direction between <var>vertex V1</var> and <var>vertex V2</var>.</p>
1705
+
<p><var>D</var> : The square root of the overlapped area between the candidate element and the
1706
+
currently focused element.</p>
1707
+
<lidata-md="">
1708
+
<p>Select the element which distance is the least among the candidate elements.</p>
1709
+
</ol>
1710
+
<lidata-md="">
1711
+
<p>Move focus to the next focused element.</p>
1712
+
</ol>
1713
+
<p>The <adata-link-type="dfn" href="#focus-navigation-heuristic" id="ref-for-focus-navigation-heuristic②">focus navigation heuristic</a> determines which element should be focused next
1645
1714
when the user invokes either spatial or sequential navigation.</p>
1646
1715
<pclass="issue" id="issue-3eba2d0c"><aclass="self-link" href="#issue-3eba2d0c"></a> Add the details. Link to HTML for the logic on sequential navigation.</p>
<dd>Tab Atkins Jr.; Elika Etemad. <ahref="https://www.w3.org/TR/css-values-3/">CSS Values and Units Module Level 3</a>. 29 September 2016. CR. URL: <ahref="https://www.w3.org/TR/css-values-3/">https://www.w3.org/TR/css-values-3/</a>
1864
1939
<dtid="biblio-dom">[DOM]
1865
1940
<dd>Anne van Kesteren. <ahref="https://dom.spec.whatwg.org/">DOM Standard</a>. Living Standard. URL: <ahref="https://dom.spec.whatwg.org/">https://dom.spec.whatwg.org/</a>
1941
+
<dtid="biblio-html">[HTML]
1942
+
<dd>Anne van Kesteren; et al. <ahref="https://html.spec.whatwg.org/multipage/">HTML Standard</a>. Living Standard. URL: <ahref="https://html.spec.whatwg.org/multipage/">https://html.spec.whatwg.org/multipage/</a>
1866
1943
<dtid="biblio-rfc2119">[RFC2119]
1867
1944
<dd>S. Bradner. <ahref="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>. March 1997. Best Current Practice. URL: <ahref="https://tools.ietf.org/html/rfc2119">https://tools.ietf.org/html/rfc2119</a>
0 commit comments