Re: [csswg-drafts] [css-nav-1] changing the spatnav scroll controls from JS to declarative (#3401)

The CSS Working Group just discussed `drop navbeforescroll`, and agreed to the following:

* ``RESOLVED: drop navbeforescroll and add `spatial-navigation-action` with at least two values``

<details><summary>The full IRC log of that discussion</summary>
&lt;astearns> topic: drop navbeforescroll<br>
&lt;astearns> github: https://github.com/w3c/csswg-drafts/issues/3401<br>
&lt;emilio> jihye: we have three events, navbeforescroll triggers when there's no visible focusable element in the scroll container<br>
&lt;emilio> jihye: it has some perf issues so we want to drop it, but there are some use cases like moving the focus directly using arrow keys or focusing the non-visible content in the scroll container<br>
&lt;jihye> https://raw.githack.com/jihyerish/spatial-navigation/spatnav-behavior/demo/scroller/index.html<br>
&lt;emilio> jihye: so we'd like to propose a new CSS property, spatial-navigation-behavior, see ^ for demo<br>
&lt;emilio> jihye: this property is aimed to split scrolling and moving the focus behavior, to avoid scroll latency<br>
&lt;jihye> https://raw.githack.com/jihyerish/spatial-navigation/spatnav-behavior/demo/infinite-scroller/index.html<br>
&lt;emilio> jihye: and it helps to implement the use-cases like infinite scrolling<br>
&lt;emilio> jihye: we have to decide exact naming and values, and I wanted to gather opinion about whether the new property is reasonable<br>
&lt;emilio> eae: I think it's a very good idea, and it helps to avoid preventing composited scrolling, so I'm very happy to see you're moving in this direction<br>
&lt;emilio> florian: initially we wanted to go with events only rather than declarative syntax, so people could experiment<br>
&lt;emilio> florian: but given the only use-case for this event can be done declaratively, and it solves the perf issue that concerned google, it sounds like a good idea<br>
&lt;emilio> eae: yeah, thanks for coming up with that proposal<br>
&lt;emilio> florian: we've iterated quite a bit on naming, last proposal is spatial-navigation-action: auto / focus / scroll<br>
&lt;emilio> florian: normal behavior is a combination of focus and scroll<br>
&lt;emilio> florian: if you use focus, it'll just jumps across focusable elements<br>
&lt;emilio> florian: instead of scrolling step by step, like auto<br>
&lt;emilio> florian: scroll is the opposite, it will just scroll it and skip focusable elements inside<br>
&lt;emilio> florian: so for example if you have a focusable scroller with focusable things in it, in which you're not strongly interested (like a twitter feed in the page), you could use the scroll value to avoid going into focusing the descendants until you focus one of them<br>
&lt;emilio> florian: we didn't feel strongly that we needed `scroll`, but having it now helps the bike-shedding for names and such<br>
&lt;emilio> astearns: would it make sense to have three values with scroll noted like "maybe dropped"<br>
&lt;emilio> jihye: maybe just add it later<br>
&lt;emilio> astearns: since the value helped you, maybe better either leaving it out and noting that it might be added, or the opposite<br>
&lt;emilio> florian: if somebody finds a better name, then even better<br>
&lt;emilio> bkardell_: so currently this demo works setting some DOM properties?<br>
&lt;emilio> jihye: I showed two demos, which one?<br>
&lt;emilio> bkardell_: let's take spatial-navigation-action? Is it just using a dom property in the demo?<br>
&lt;emilio> florian: the demo uses a polyfill?<br>
&lt;emilio> s/?//<br>
&lt;emilio> bkardell_: I was wondering how it was implemented, custom props?<br>
&lt;emilio> jihye: yeah, it's a custom property<br>
&lt;florian> s/polyfill?/polyfill/<br>
&lt;emilio> RESOLVED: drop navbeforescroll and add `spatial-navigation-action` with at least two values<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3401#issuecomment-467663170 using your GitHub account

Received on Tuesday, 26 February 2019 23:48:53 UTC