Hi,

I'm reactivating this thread after some updates addressing feedback 
received here:
 
- highlightsFromPoint now also returns the ranges hit for each Highlight 
under a given point after discussing it with the CSSWG 
<https://github.com/w3c/csswg-drafts/issues/12031> (cc @Stephen) to make 
the API more useful for many real-life scenarios. There are more details in 
the explainer 
<https://github.com/ffiori/MSEdgeExplainers/blob/master/highlight/HighlightsFromPointsExplainer.md>
 and specs <https://drafts.csswg.org/css-highlight-api-1/#interactions>, 
basically 
the type has been changed to the following:

sequence<HighlightHitResult> highlightsFromPoint(float x, float y, optional 
HighlightsFromPointOptions options = {});

dictionary HighlightHitResult {
  Highlight highlight;
  sequence<AbstractRange> ranges;
};

- The explainer 
<https://github.com/ffiori/MSEdgeExplainers/blob/master/highlight/HighlightsFromPointsExplainer.md>
 was 
updated to match the new type mentioned above, expanded the Alternative 
Solutions section with further variations, and expanded on how the API 
addresses customer needs (as suggested by @Alex).

- Regarding the concerns about the API being synchronous, other async 
options were explored more in detail (see Alternative Solutions section 
<https://github.com/ffiori/MSEdgeExplainers/blob/master/highlight/HighlightsFromPointsExplainer.md#alternative-solutions>
 in 
the explainer) but we decided to continue pursuing the synchronous format. 
It's simpler and more developer-friendly, and matches the syntax and style 
of other existing *FromPoint APIs. Additionally, we believe that the 
question of synchronous-layout-requiring APIs is better addressed 
separately so that all of these similar *FromPoint APIs can be considered 
holistically (Alex's proposal on Event Phases 
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/EventPhases/explainer.md>
 is 
a great example of how this can be approached).

By the way, I also updated the shipping Estimated Milestones to 140.

Looking forward to any feedback you might have :)

Thanks,
Fernando


El lunes, 3 de marzo de 2025 a la(s) 12:16:09 p.m. UTC-8, Fernando Fiori 
escribió:

@Domenic, thanks for your feedback, I just updated the milestones. Regards 
the CSSWG current status on the feature, there's been consensus on it prior 
to its I2P and implementations, you can refer to this comment (and all the 
discussion taking place in that issue): [css-highlight-api] Approaches for 
dispatching highlight pointer events · Issue #7513 · w3c/csswg-drafts 
<https://github.com/w3c/csswg-drafts/issues/7513#issuecomment-1248320696>.

@Stephen, thanks a lot, that'd be amazing :)

@Robert, I see, thanks for clarifying! I thought you meant replacing 
highlightsFromPoint to also return Elements with the additional parameters 
you mentioned in your last message, my comment was related to most of the 
use cases discussed can be satisfied with the simpler highlightsFromPoint 
API described in this I2S and the specs linked. I could see both APIs 
coexisting in the future, but I'm still not super clear on what use cases 
the API you describe could be applied to, I think your proposal could 
definitely be further discussed in an issue in the CSSWG for a broader 
audience.

As per @Alex's comments, I'm working on updating the explainer to capture 
all the details about alternative solutions and why this one was chosen 
over them there so it's clearer and more centralized.

I'll let you know when the explainer updates are done.

Thank you all for the feedback,
Fernando

El domingo, 2 de marzo de 2025 a la(s) 6:43:21 p.m. UTC-8, Domenic Denicola 
escribió:

This states "shipping on desktop" but also "supported on all six Blink 
platforms". Perhaps you just forgot to add the milestones for Android and 
Android WebView?

It seems there's some late-breaking feedback from both Google and Microsoft 
engineers in this thread on the API design. I'm unclear to what extent 
those engineers have raised their concerns to the CSSWG. Can you give us a 
sense of the CSSWG's current consensus status on this feature? This looks 
ready to ship to me, but this amount of discussion muddles the situation a 
bit.

On Saturday, February 15, 2025 at 9:59:59 AM UTC+9 Fernando Fiori wrote:

*Contact emails*

stephan...@microsoft.com, sa...@microsoft.com, ffi...@microsoft.com


*Explainer*

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/HighlightsFromPointsExplainer.md


*Specification*

https://drafts.csswg.org/css-highlight-api-1/#interactions


*Summary*

The highlightsFromPoint API enables developers to interact with custom 
highlights by detecting which highlights exist at a specific point within a 
document. This interactivity is valuable for complex web features where 
multiple highlights may overlap or exist within shadow DOM. By providing 
precise point-based highlight detection, the API empowers developers to 
manage dynamic interactions with custom highlights more effectively, such 
as responding to user clicks or hover events on highlighted regions to 
trigger custom tooltips, context menus, or other interactive features.




*Blink component*

Blink>CSS 
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22>


*TAG review*

https://github.com/w3ctag/design-reviews/issues/1043


*TAG review status*

Issues addressed


*Risks*




*Interoperability and Compatibility*

The 'highlightsFromPoint' API is a new feature so there isn’t a 
compatibility risk. The interoperability risk is limited to the usual risk 
of limited adoption and/or inconsistent browser support for a new feature.



*Gecko*: No signal (
https://github.com/mozilla/standards-positions/issues/1068)

*WebKit*: No signal (
https://github.com/WebKit/standards-positions/issues/394)

*Web developers*: Positive (
https://github.com/w3c/csswg-drafts/issues/7513#issuecomment-1211033472, 
https://github.com/w3c/csswg-drafts/issues/7447#issuecomment-2386160133, 
https://github.com/w3c/csswg-drafts/issues/7447#issuecomment-1183422904)

*Other signals*:


*Ergonomics*

None




*Activation*

None




*Security*

None




*WebView application risks*

*Does this intent deprecate or change behavior of existing APIs, such that 
it has potentially high risk for Android WebView-based applications?*

None




*Debuggability*

None




*Will this feature be supported on all six Blink platforms (Windows, Mac, 
Linux, ChromeOS, Android, and Android WebView)?*

Yes


*Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*

Yes

https://wpt.fyi/results/css/css-highlight-api/HighlightRegistry-highlightsFromPoint.html?label=experimental&label=master&aligned

https://wpt.fyi/results/shadow-dom/HighlightRegistry-highlightsFromPoint.html?label=master&label=experimental&aligned

Note that these tests are currently failing in wpt.fyi because the feature 
still has the status test in code 
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5;l=2333?q=runtime_enabled_features.json&ss=chromium%2Fchromium%2Fsrc>,
 
so it’s not activated for these tests that run under experimental flag, but 
worth mentioning they’re passing in chromium CI. They’re expected to pass 
in wpt.fyi as well once the feature status is upgraded.



*Flag name on about://flags*

None


*Finch feature name*

HighlightsFromPoint


*Requires code in //chrome?*

False


*Tracking bug*

https://issues.chromium.org/issues/365046212


*Estimated milestones*

Shipping on desktop

134




*Anticipated spec changes*

*Open questions about a feature may be a source of future web compat or 
interop issues. Please list open issues (e.g. links to known github issues 
in the project for the feature specification) whose resolution may 
introduce web compat/interop risk (e.g., changing to naming or structure of 
the API in a non-backward-compatible way).*

None


*Link to entry on the Chrome Platform Status*

https://chromestatus.com/feature/4552801607483392?gate=4762112543686656


*Links to previous Intent discussions*

Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SJ0PR00MB130193097BB3B418C676D88CEC642%40SJ0PR00MB1301.namprd00.prod.outlook.com


This intent message was generated by Chrome Platform Status 
<https://chromestatus.com/>.

 

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8076a892-d353-4032-8796-8eb7ac29149dn%40chromium.org.

Reply via email to