12121212 }
12131213 }
12141214</ style >
1215- < meta content ="Bikeshed version 018be3f805d3272ce699a232398d6e3902d1ea8d " name ="generator ">
1215+ < meta content ="Bikeshed version abdace79009f95c8aedf382594a19cef590a24a9 " name ="generator ">
12161216 < link href ="http://wicg.github.io/spatial-navigation " rel ="canonical ">
1217+ < meta content ="954d081b25bacda896c5737573ca61f5b36b5477 " name ="document-revision ">
12171218< style >
12181219code .key {
12191220 border : solid 1px ;
15151516 < div class ="head ">
15161517 < p data-fill-with ="logo "> </ p >
15171518 < h1 class ="p-name no-ref " id ="title "> Spatial Navigation</ h1 >
1518- < h2 class ="no-num no-toc no-ref heading settled " id ="subtitle "> < span class ="content "> Editor’s Draft, < time class ="dt-updated " datetime ="2018-10-14 " > 14 October 2018</ time > </ span > </ h2 >
1519+ < h2 class ="no-num no-toc no-ref heading settled " id ="subtitle "> < span class ="content "> Editor’s Draft, < time class ="dt-updated " datetime ="2018-10-18 " > 18 October 2018</ time > </ span > </ h2 >
15191520 < div data-fill-with ="spec-metadata ">
15201521 < dl >
15211522 < dt > This version:
@@ -1537,7 +1538,7 @@ <h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="cont
15371538 < h2 class ="no-num no-toc no-ref heading settled " id ="abstract "> < span class ="content "> Abstract</ span > </ h2 >
15381539 < p > This specification defines a general model for navigating the focus using the arrow keys,
15391540
1540- as well as related CSS and JavaScript features.</ p >
1541+ as well as related CSS and JavaScript features.</ p >
15411542 </ div >
15421543 < div data-fill-with ="at-risk "> </ div >
15431544 < h2 class ="no-num no-toc no-ref heading settled " id ="status "> < span class ="content "> Status of this document</ span > </ h2 >
@@ -1864,11 +1865,23 @@ <h2 class="heading settled" data-level="4" id="triggering"><span class="secno">4
18641865 < div class ="api ">
18651866 < h2 class ="heading settled " data-level ="5 " id ="js-api "> < span class ="secno "> 5. </ span > < span class ="content "> JavaScript API</ span > < a class ="self-link " href ="#js-api "> </ a > </ h2 >
18661867 < h3 class ="heading settled " data-level ="5.1 " id ="high-level-api "> < span class ="secno "> 5.1. </ span > < span class ="content "> Triggering Navigation Programmatically</ span > < a class ="self-link " href ="#high-level-api "> </ a > </ h3 >
1867- < p class ="issue " id ="issue-7f028784 "> < a class ="self-link " href ="#issue-7f028784 "> </ a > This API is clearly useful for testing purposes.
1868- It may also be useful for authors,
1869- but the use cases are less strong.
1870- Maybe this should be moved to WebDriver and be a testing-only API.
1871- Maybe it is fine as is.</ p >
1868+ < p > The < code class ="idl "> < a data-link-type ="idl " href ="#dom-window-navigate " id ="ref-for-dom-window-navigate "> navigate()</ a > </ code > method enables the author to trigger spatial navigation programatically,
1869+ as if the user had done so manually
1870+ (for instance, by pressing the arrow keys in a browser where that is the way to trigger spatial navigation).</ p >
1871+ < p class ="note " role ="note "> < span > Note:</ span > As this triggers the same processing model as a manual navigation,
1872+ all the same results should be expected:
1873+ the same chain of events will be fired and
1874+ the same element will be scrolled or focused.</ p >
1875+ < p class ="note " role ="note "> < span > Note:</ span > Authors can use this to trigger spatial navigation
1876+ based on a different UI mechanism than the one assigned by the UA,
1877+ such as mapping to different keys,
1878+ or triggering spatial navigation from a clickable on-screen directional pad.
1879+ or in reaction to other events than UI ones.
1880+ It could also be used when an author wants to interrupt navigation to do some asynchronous operation
1881+ (e.g. load more content in an infinite scroller) then resume where they cancelled.</ p >
1882+ < p class ="note " role ="note "> < span > Note:</ span > This API is also useful for testing purposes,
1883+ as there is no other way to trigger spatial navigation
1884+ that does not depend on vendor specific UI conventions.</ p >
18721885< pre class ="idl highlight def "> < c- b > enum</ c- > < dfn class ="dfn-paneled idl-code " data-dfn-type ="enum " data-export id ="enumdef-spatialnavigationdirection "> < code > < c- g > SpatialNavigationDirection</ c- > </ code > </ dfn > {
18731886 < dfn class ="idl-code " data-dfn-for ="SpatialNavigationDirection " data-dfn-type ="enum-value " data-export id ="dom-spatialnavigationdirection-up "> < code > < c- s > "up"</ c- > </ code > < a class ="self-link " href ="#dom-spatialnavigationdirection-up "> </ a > </ dfn > ,
18741887 < dfn class ="idl-code " data-dfn-for ="SpatialNavigationDirection " data-dfn-type ="enum-value " data-export id ="dom-spatialnavigationdirection-down "> < code > < c- s > "down"</ c- > </ code > < a class ="self-link " href ="#dom-spatialnavigationdirection-down "> </ a > </ dfn > ,
@@ -1881,7 +1894,7 @@ <h3 class="heading settled" data-level="5.1" id="high-level-api"><span class="se
18811894};
18821895</ pre >
18831896 < div class ="algorithm " data-algorithm ="windowNavigate steps ">
1884- The < code class ="idl "> < a data-link-type ="idl " href ="#dom-window-navigate " id ="ref-for-dom-window-navigate "> navigate()</ a > </ code > method must follow these steps:
1897+ The < code class ="idl "> < a data-link-type ="idl " href ="#dom-window-navigate " id ="ref-for-dom-window-navigate① "> navigate()</ a > </ code > method must follow these steps:
18851898 < p > If < var > dir</ var > is < code > "up"</ code > , < code > "down"</ code > , < code > "left"</ code > , or < code > "right"</ code > ,
18861899run the < a data-link-type ="dfn " href ="#spatial-navigation-steps " id ="ref-for-spatial-navigation-steps③ "> spatial navigation steps</ a > in direction < var > dir</ var > .</ p >
18871900 </ div >
@@ -3646,11 +3659,6 @@ <h2 class="no-num no-ref heading settled" id="idl-index"><span class="content">I
36463659</ pre >
36473660 < h2 class ="no-num no-ref heading settled " id ="issues-index "> < span class ="content "> Issues Index</ span > < a class ="self-link " href ="#issues-index "> </ a > </ h2 >
36483661 < div style ="counter-reset:issue ">
3649- < div class ="issue "> This API is clearly useful for testing purposes.
3650- It may also be useful for authors,
3651- but the use cases are less strong.
3652- Maybe this should be moved to WebDriver and be a testing-only API.
3653- Maybe it is fine as is.< a href ="#issue-7f028784 "> ↵ </ a > </ div >
36543662 < div class ="issue "> The following currently does not account
36553663for < a href ="https://github.com/WICG/overscroll-behavior "> the proposed overscroll-behavior specification</ a > . < a href ="https://github.com/wicg/spatial-navigation/issues/19 "> <https://github.com/wicg/spatial-navigation/issues/19> </ a > < a href ="#issue-e8431aa1 "> ↵ </ a > </ div >
36563664 < div class ="issue "> The following does not take shadow dom into account. < a href ="https://github.com/wicg/spatial-navigation/issues/21 "> <https://github.com/wicg/spatial-navigation/issues/21> </ a > < a href ="#issue-e0cc24e0 "> ↵ </ a > </ div >
@@ -3693,7 +3701,7 @@ <h2 class="no-num no-ref heading settled" id="issues-index"><span class="content
36933701 < b > < a href ="#dom-window-navigate "> #dom-window-navigate</ a > </ b > < b > Referenced in:</ b >
36943702 < ul >
36953703 < li > < a href ="#ref-for-dom-window-navigate "> 5.1.
3696- Triggering Navigation Programmatically</ a >
3704+ Triggering Navigation Programmatically</ a > < a href =" #ref-for-dom-window-navigate① " > (2) </ a >
36973705 </ ul >
36983706 </ aside >
36993707 < aside class ="dfn-panel " data-for ="enumdef-focusableareasearchmode ">
0 commit comments