LadybirdBrowser / ladybird

Truly independent web browser
https://ladybird.org
BSD 2-Clause "Simplified" License
21.84k stars 966 forks source link

CSS4 / querySelector[All] tracking #380

Open philip-peterson opened 4 months ago

philip-peterson commented 4 months ago

Hi there, across various implementations of browser execution environments, support for querySelector/querySelectorAll is spotty, especially in regards to support of the :scope keyword. Perhaps this project is an opportunity to create a library that does it well?

Some example issues:

The gist of these have been that :scope, and possibly other CSS4 selectors, either do not work or work incorrectly. I understand this isn't priority number 1, but surfacing in case it could be useful for planning.

krystian3w commented 4 months ago

This is probably abandoned in the specification and is not worth implementing as a visible element.

philip-peterson commented 4 months ago

Wasn't intending to report a defect here, just a feature request. FWIW, while libraries like Sizzle/jQuery don't support :scope, the actual browsers (Safari, Chrome, etc.) do. By "library", I just meant Ladybird as a whole. It seems based on Sizzle et. al.'s reaction to this feature it could be easy to craft a selector engine while making implementing such a feature next to impossible, so wanted to surface this as a potential future.

voiceusa01 commented 4 months ago

When is this browser getting released?

Get Outlook for iOShttps://aka.ms/o0ukef


From: Philip Peterson @.> Sent: Thursday, July 4, 2024 5:36:38 PM To: LadybirdBrowser/ladybird @.> Cc: Subscribed @.***> Subject: Re: [LadybirdBrowser/ladybird] CSS4 / querySelector[All] tracking (Issue #380)

Wasn't intending to report a defect here, just a feature request. FWIW, while libraries like Sizzle/jQuery don't support :scope, the actual browsers (Safari, Chrome, etc.) do. By "library", I just meant Ladybird as a whole. It seems based on Sizzle et. al.'s reaction to this feature it could be easy to craft a selector engine while making implementing such a feature next to impossible, so wanted to surface this as a potential future.

— Reply to this email directly, view it on GitHubhttps://github.com/LadybirdBrowser/ladybird/issues/380#issuecomment-2209582477, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFWGZYORT4A5UWQKVN7GJRTZKW56NAVCNFSM6AAAAABKIV5XXSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBZGU4DENBXG4. You are receiving this because you are subscribed to this thread.Message ID: @.***>

circl-lastname commented 4 months ago

When is this browser getting released?

2026 for the binary alpha

voiceusa01 commented 4 months ago

Ok Thanks


From: circl @.> Sent: Thursday, July 4, 2024 9:40 PM To: LadybirdBrowser/ladybird @.> Cc: voiceusa01 @.>; Comment @.> Subject: Re: [LadybirdBrowser/ladybird] CSS4 / querySelector[All] tracking (Issue #380)

When is this browser getting released?

2026 for the binary alpha

— Reply to this email directly, view it on GitHubhttps://github.com/LadybirdBrowser/ladybird/issues/380#issuecomment-2209584327, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFWGZYLXSERLKQDE4VQW7R3ZKW6L3AVCNFSM6AAAAABKIV5XXSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBZGU4DIMZSG4. You are receiving this because you commented.Message ID: @.***>

ADKaster commented 4 months ago

It sounds like this is a feature request to implement the scope pseduo-class https://drafts.csswg.org/selectors/#the-scope-pseudo and a warning that historically it's been difficult for engines/parsers to get it working well with querySelectorAll?

Looking at the compat data on MDN for :scope (https://developer.mozilla.org/en-US/docs/Web/CSS/:scope) it seems like everyone has figured it out.

If you have a set of short test pages that we could keep in mind when implementing the feature, I think that would be the most helpful? If there's inconsistencies between browser engines we could help push those test cases into the Web Platform Tests project as we implement each step.