Primary eng/PM emails
Eng: kol...@opera.com
PM: chr...@opera.com
Spec
CSS3 UI
(http://dev.w3.org/csswg/css-ui/#nav-dir)
Summary
Implementation of CSS3 nav-up/down/left/right properties from CSS3 UI
User agents for devices with directional navigation keys respond by navigating the focus according to four respective nav-* directional navigation properties (nav-up, nav-right, nav-down, nav-left)
Motivation
Regarding implementations / use:
- these properties have been supported in Presto core for quite some time
- these properties are widely used by the TV industry (both devices and apps) as it's an easy way to define D-Pad navigation.
- WebKit-based TV browsers from major TV manufacturers support it
Compatibility Risk
Although these properties are marked as "at risk" in the specification, there are no known issues with their definition, so the "at risk" was only due to lack of known implementations and tests.
Opera has agreed to submit tests to the CSS-WG and the WG has agreed to keep these properties in if tests are submitted
.
There are already implementations of these feature in products already in market:
- WebKit-based TV browsers from major TV manufacturers support it
- These properties have been supported in Presto core for quite some time
- We have heard of other companies planning to submit related patches for WebKit.
The similar patch was filed to Webkit
(not submitted by us) - https://bugs.webkit.org/show_bug.cgi?id=66027
The www-style discussion on the feature: http://lists.w3.org/Archives/Public/www-style/2013Jun/0332.html
Ongoing technical constraints
None
Will this feature be supported on all five Blink platforms (Windows, Mac, Linux, Chrome OS and Android)?
Yes*
OWP launch tracking bug?
No
Row on feature dashboard?
No
Requesting approval to ship?
Yes.*
* However, the CSS attributes will be operational only if spatial navigation pref is enabled.
(see https://codereview.chromium.org/13811041)
I believe you have tools in place for fuzzing this code? Would you mind to point them? As the original author, I could help with improving that.
PS: with css3 nav-up/down/left/right you specify to node to focus on given a direction. Then no spatial navigation should be involved. Please correct me if I am wrong.
On Fri, Jun 21, 2013 at 8:29 AM, Antonio Gomes <toni...@gmail.com> wrote:
I believe you have tools in place for fuzzing this code? Would you mind to point them? As the original author, I could help with improving that.
The primary tools we use to fuzz the code is ClusterFuzz:Unfortunately, it's not a tool that you can run yourself because it's built on Google infrastructure.
On Fri, Jun 21, 2013 at 8:29 AM, Antonio Gomes <toni...@gmail.com> wrote:
PS: with css3 nav-up/down/left/right you specify to node to focus on given a direction. Then no spatial navigation should be involved. Please correct me if I am wrong.
I'm not sure what you mean by this comment. Do you mean that CSS3 lets you poke at the spatial navigation code without enabling the spatial navigation setting?
button#b1 {
top:0; left:50%;
nav-index:1;
nav-right:#b2; nav-left:#b4;
nav-down:#b2; nav-up:#b4;
}
As far as I could understand, if one presses the "right" arrow key, the implementation just focuses on element
#b2. For that, there is no need for Spatial Navigation.
Krzysztof should have posted an intent to implement only. The functionality that his CL adds is hidden behind an existing runtime flag (--enable-spatial-navigation).
We agree with you that the spatial navigation code is not in a fit state to ship yet. We're working in parallel to improve this code in a few places, and hope to submit more CLs soon.