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.