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
Copy file name to clipboardExpand all lines: README.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ This is a repository for making the Web excellently embrace the spatial navigati
10
10
* Give feedback on [issues](https://github.com/WICG/spatial-navigation/issues) or via [email](mailto://lgewst@gmail.com)
11
11
12
12
## Overview
13
-
**Spatial navigation (aka Spatnav)** is the ability to navigate between focusable elements based on their position within a structured document. Spatial navigation is often called 'directional navigation' which enables four(4) directional navigation. Users are usually familiar with the 2-way navigation using tab key for the forward direction and shift+tab key for the backward direction, but not familiar with the 4-way navigation using arrow keys.
13
+
**Spatial navigation** is the ability to navigate between focusable elements based on their position within a structured document. Spatial navigation is often called 'directional navigation' which enables four(4) directional navigation. Users are usually familiar with the 2-way navigation using tab key for the forward direction and shift+tab key for the backward direction, but not familiar with the 4-way navigation using arrow keys.
14
14
15
15
Regarding TV remote control, game console pad, IVI jog dial with 4-way keys, and Web accessibility, the spatial navigation has been a rising important input mechanism in several industries. If the Web can embrace the spatial navigation and efficiently support the functionalities in Web engines and W3C APIs, it will be more promising technology for existing products as mentioned above and various upcoming smart devices.
16
16
@@ -20,33 +20,33 @@ Prior to the mission explanation, we need to understand how the arrow keys work
20
20
In spatial navigation mode, the default behavior of arrow keys is changed from scrolling behavior to focus moving so that users can use the arrow keys to navigate between focusable elements based on their position. To support the functionalities of the spatial navigation, we should consider the following three steps:
21
21
1. A heuristic algorithm for the spatial navigation supported in Web engines
22
22
2. Overriding methods on top of the heuristic algorithm (DOM method/attribute/event)
23
-
3. The relevant API for efficiently supporting the spatial navigation (spatnav mode, container, etc.)
23
+
3. The relevant API for efficiently supporting the spatial navigation (Setting the spatial navigation container, etc.)
24
24
25
25
See the [explainer](explainer.md) for the details of W3C standardization for #1, #2 and #3 above.
26
26
27
27
See the [implStatus](implStatus.md) for the details of the implementation in Web engines for #2 above.
28
28
29
29
## FAQ
30
-
**Q. I’m not sure how the Spatnav (directional) navigation works.**
31
-
- You can see the video that shows the Spatnav operations in the YouTube page ([link](https://www.youtube.com/watch?v=TzDtcX9urUg)).
32
-
- You can see the brief description for the Spatnav in Wikipedia ([link](https://en.wikipedia.org/wiki/Spatial_navigation)).
33
-
- In several references below, you can get the help to understand the Spatnav operations well.
30
+
**Q. I’m not sure how the spatial navigation works.**
31
+
- You can see the video that shows the spatial navigation operations in the YouTube page ([link](https://www.youtube.com/watch?v=TzDtcX9urUg)).
32
+
- You can see the brief description for the spatial navigation in Wikipedia ([link](https://en.wikipedia.org/wiki/Spatial_navigation)).
33
+
- In several references below, you can get the help to understand the spatial navigation operations well.
34
34
35
35
**Q. Isn’t it enough just using the relevant Web frameworks?**
36
-
- Several Web frameworks and extensions for the Spatnav have been provided so far due to no support from web engines. For examples, [js-spatial-navigation](https://github.com/luke-chang/js-spatial-navigation) made by Mozilla seems one of the frameworks and its quality would be good to support the features of Spatnav. [Spotlight library](https://github.com/enyojs/spotlight) implemented by LGE is also an instance of the frameworks for the Spatnav, even though it was deprecated now. However, the support of Spatnav from Web frameworks has some limits as follows:
36
+
- Several Web frameworks and extensions for the spatial navigation have been provided so far due to no support from web engines. For examples, [js-spatial-navigation](https://github.com/luke-chang/js-spatial-navigation) made by Mozilla seems one of the frameworks and its quality would be good to support the features of the spatial navigation. [Spotlight library](https://github.com/enyojs/spotlight) implemented by LGE is also an instance of the frameworks for the spatial navigation, even though it was deprecated now. However, the support of spatial navigation from Web frameworks has some limits as follows:
37
37
- Difficult to align native scroll behavior when moving the focus to an element out of view
38
38
- Difficult to align native focus method for a11y support
39
39
- Performance degradation due to the expensive cost of DOM Access
40
40
- Inconsistency of user experience (various kinds of frameworks)
41
41
- Impossible to control isolated frames like iframe and shadow DOM
42
42
43
-
**Q. The Spatnav seems not the general feature esp. in mobile with no physical key-based interface.**
44
-
- Honestly, the mobile has been a first citizen of Spatnav about ten years old. Before touch-based interface, the majority of interface for mobile was the key-based interface. We're familiar with kind of mobile phone named a feature phone, and it has been supported in several developing countries such as South America, Africa even until now.
43
+
**Q. The spatial navigation seems not the general feature esp. in mobile with no physical key-based interface.**
44
+
- Honestly, the mobile has been a first citizen of the spatial navigation about ten years old. Before touch-based interface, the majority of interface for mobile was the key-based interface. We're familiar with kind of mobile phone named a feature phone, and it has been supported in several developing countries such as South America, Africa even until now.
45
45
46
46
- In the future, the input mechanism for smart devices will change to something like voice command, hand gesture, and gaze direction, but the key-based interface will never disappear, even though it'll be used as a secondary method. The key-based interface used to be evaluated as one of the most intuitive ways with a strong sense feedback of finger after pushing a key, while we couldn't imagine a touch-based keyboard without any physical keys.
47
47
48
48
**Q. Put any question on [issues](https://github.com/WICG/spatial-navigation/issues) of this repository :D**
49
-
- Everything for Spatnav is welcome!
49
+
- Everything for the spatial navigation is welcome!
<metaname="description" content="element.getSpatnavContainer() returns the nearest ancestor node which is the spatial navigation container (a.k.a. spatnav container).
9
-
You can check the result of element.getSpatnavContainer() via <b>'background-color' and 'red outline' whenever focus is changed.</b>">
8
+
<metaname="description" content="element.getSpatialNavigationContainer() returns the nearest ancestor node which is the spatial navigation container.
9
+
You can check the result of element.getSpatialNavigationContainer() via <b>'background-color' and 'red outline' whenever focus is changed.</b>">
<metaname="description" content="By default, <b>spatial navigation container (a.k.a. spatnav container)</b> are established by the viewport of a browsing context and scroll containers. Also, an element becomes spatnav container if it is specified with 'spatial-navigation-contain' CSS Property.">
8
+
<metaname="description" content="By default, <b>spatial navigation container</b> are established by the viewport of a browsing context and scroll containers.
9
+
Also, an element becomes a spatial navigation container if it is specified with 'spatial-navigation-contain' CSS Property.">
0 commit comments