Re: [csswg-drafts] [css-overflow-5] Improve active marker calculation (#10917)

The CSS Working Group just discussed `[css-overflow-5] Improve active marker calculation`, and agreed to the following:

* `RESOLVED: Relax spec for less definitive cases, miriam to add use cases to issue, flackr to write possible algorithm(s) as examples`

<details><summary>The full IRC log of that discussion</summary>
&lt;fantasai> s/Topic: Pub/Subtopic: Pub/<br>
&lt;fantasai> flackr: Currently in spec we select the marker whose target has scrolled at least as far as, if not further than,<br>
&lt;fantasai> flackr: but this means that as you scroll into next section, doesn't become active until it hits its aligned position<br>
&lt;fantasai> flackr: e.g. at top of viewport<br>
&lt;fantasai> flackr: similarly for carousel use cases, doesn't switch until next item is completely scrolled into view<br>
&lt;fantasai> flackr: [demo of lag in the scroll marker]<br>
&lt;fantasai> flackr: proposing more intelligent selection, finds next marker when it's closer to the viewport<br>
&lt;fantasai> flackr: rough proposed algorithm in the spec<br>
&lt;fantasai> flackr: details are nuanced, because don't need to be larger than scrollport<br>
&lt;florian> q+<br>
&lt;fantasai> flackr: for example distance from one heading to another<br>
&lt;miriam> q+<br>
&lt;fantasai> flackr: so wanted to take a resolution that yes, we make changes<br>
&lt;fantasai> flackr: similar to if we were snapping, would change to the new thing<br>
&lt;fantasai> flackr: not quite the same because scroll targets could be headings, not the entire section<br>
&lt;fantasai> flackr: so this is why we can't share exactly the scroll snap properties<br>
&lt;Rossen6> ack fantasai<br>
&lt;dholbert> fantasai: haven't thought through it in detail, but going in this direction does make sense<br>
&lt;kizu> q+<br>
&lt;fantasai> florian: Makese sense to go in this direction, but wonder if it shouldn't be a quality of implementation issue<br>
&lt;Rossen6> ack florian<br>
&lt;fantasai> florian: Can imagine variants<br>
&lt;fantasai> florian: e.g. if you are scrolling towards one vs (missed)<br>
&lt;fantasai> florian: may be some nuances<br>
&lt;fantasai> flackr: could keep it open for now<br>
&lt;fantasai> flackr: but in any case what you're proposing shouldn't be disalowed<br>
&lt;fantasai> miriam: there's some advantage to predictability<br>
&lt;fantasai> miriam: so I have some concerns about being too clever with it<br>
&lt;fantasai> miriam: which makes me lean other way from Florian, maybe better to keep it simple and consistent across browsers<br>
&lt;fantasai> miriam: definitely I don't trust the concept of "closer" because one heading can be much closer when still not in th viewport<br>
&lt;fantasai> miriam: it has to be a lot more clever than that<br>
&lt;fantasai> flackr: cleverer thing written in the issue<br>
&lt;fantasai> miriam: don't want to lose simple and predictable<br>
&lt;florian> q?<br>
&lt;florian> q+<br>
&lt;Rossen6> ack miriam<br>
&lt;fantasai> flackr: would it make sense to come back with a concrete somewhat clever proposal and see if we can agree on it?<br>
&lt;fantasai> kizu: what's proposed there in the issue makes sense<br>
&lt;fantasai> kizu: this is close to my latest implementation of this<br>
&lt;kizu> https://github.com/w3c/csswg-drafts/issues/10917#issuecomment-2380087937<br>
&lt;fantasai> kizu: [describes his latest marvel of CSS engineering]<br>
&lt;fantasai> kizu: in Chrome you can see how it works<br>
&lt;fantasai> kizu: I really like this, it's very in line with what flackr wrote<br>
&lt;fantasai> kizu: but would be nice to see exactly what's proposed<br>
&lt;Rossen6> ack *<br>
&lt;Rossen6> ack kizu<br>
&lt;fantasai> flackr: for discussion with mia, goes both ways<br>
&lt;Rossen6> ack florian<br>
&lt;fantasai> s/flackr/florian/<br>
&lt;fantasai> florian: to the extent people will build on it, better to have more predictability<br>
&lt;fantasai> florian: on the other hand this is in UX space, and trade-offs in one UA might differe from other UA, possibly depending on input modalities<br>
&lt;fantasai> florian: I would expect UAs to fine-tune this, which might result in different answers<br>
&lt;fantasai> florian: so providing flexibility seems useful<br>
&lt;fantasai> miriam: less about building on top and, already there are use cases where I would want different ansewrs<br>
&lt;fantasai> miriam: if I was being clever<br>
&lt;fantasai> miriam: I would come up with a different clever algo for ToC than for carousel slider<br>
&lt;fantasai> miriam: so that makes me mistrust the idea that we can find one clever option that will work across use cases<br>
&lt;fantasai> flackr: could add for a snapping carousel, if using scroll position that you would land on after snapping<br>
&lt;fantasai> flackr: so this exampe with carousel is slightly contrived, since I'm holding downt the scrolling mechanism<br>
&lt;fantasai> flackr: but in any free-flowing content, this problem is as I showed you<br>
&lt;Rossen6> ack fantasai<br>
&lt;dholbert> fantasai: I don't remember what's in the spec, but if there are constraints we are sure of, e.g. this should definitely be the scroll marker, we should document those in the spec<br>
&lt;dholbert> fantasai: for cases where we need to decide the next action, we/miriam shoudl document some use cases<br>
&lt;dholbert> fantasai: flackr should perhaps document the parameters that are worth reasoning about when comparing strategies here<br>
&lt;dholbert> fantasai: once we have the examples for these use cases, we can decide which direction to go<br>
&lt;dholbert> flackr: what sorts of examples might be handy?<br>
&lt;dholbert> fantasai: e.g. "if you're an implementor and you're looking at these two cases, here's how you might write an algorithm to land on the right thing"<br>
&lt;dholbert> fantasai: maybe with an illustration, but that's optional<br>
&lt;fantasai> flackr: Propose resolve as keep spec as-is, but miriam adds use cases, flackr adds example algorithms ...<br>
&lt;fantasai> flackr: but might require resolving that there's flexibility in the spec<br>
&lt;fantasai> flackr: so should we resolve on flexibility in the spec?<br>
&lt;dholbert> fantasai: there's some flexibility, and some non-flexibility<br>
&lt;dholbert> fantasai: there are cases when e.g. you'd land on a thing where it's obvious you need to pick that scroll marker<br>
&lt;fantasai> flackr: I think for this demo should relax it a bit<br>
&lt;florian> q?<br>
&lt;fantasai> flackr: so need to remove the explicit algorithm about finding the thing before the current scroll position and use more open language<br>
&lt;fantasai> flackr: similar to snap point selection<br>
&lt;florian> +1<br>
&lt;fantasai> PROPOSED: Relax spec for less definitive cases, miriam to add use cases to issue, flackr to write possible algorithm(s) as examples<br>
&lt;fantasai> RESOLVED: Relax spec for less definitive cases, miriam to add use cases to issue, flackr to write possible algorithm(s) as examples<br>
</details>


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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 27 September 2024 21:46:25 UTC