Closed zcorpan closed 3 years ago
When fixing this, also fix (or file an issue to fix) the "XXX" issues introduced in https://github.com/whatwg/html/pull/5510
Is there an idiomatic way to do this? Is it just a matter of moving the language from the public API methods into new sections under Processing-Model/Algorithms, and referring to them from the public API description?
I must say, it seems needlessly complicated to add this level of indirection to the spec. Could you instead follow the example given in issue #55 for getBoundingClientRect, and say something like:
"Perform the steps described in the IntersectionObserver spec for the IntersectionObserver constructor." "Perform the steps described in the IntersectionObserver spec for the observe() method."
?
The usual way is a level of <dfn>
abstraction. But it doesn't need to be in a different section, that's up to how you want to structure the spec. See for example https://fullscreen.spec.whatwg.org/#dom-document-exitfullscreen
I don't think the example for getBoundingClientRect
is a great one to follow; it's less explicit, and I don't see a good reason not to change the cssom-view spec.
I think there's an argument to be made that this is a bit annoying for writing specs and we could do something to make it easy to do the right thing, but for now, we need an extra dfn
when other specs want to reference algorithms.
Thanks for fixing! I tried today to update the HTML standard and ran into further issues, see https://github.com/w3c/IntersectionObserver/issues/464
In https://github.com/whatwg/html/pull/5510 I'm trying to specify
<img loading=lazy>
in terms of IntersectionObserver as per discussion in https://github.com/whatwg/html/issues/5236As @domfarolino pointed out, in web specs we try not to call public APIs, but instead want to call the underlying algorithm directly. (Also see https://github.com/w3c/IntersectionObserver/issues/401 )
For lazy-loaded images currently, we need to
IntersectionObserver
with a callback that is a set of steps defined in spec proseobserve()
unobserve()