Looking at the webkit tests, I"m concerned that some of them may conflict 
with the spec (as I understand it), and this presumably reflects an issue 
with webkit's implementation.

Specifically,  in 
https://github.com/WebKit/WebKit/blob/main/LayoutTests/fast/selectors/lang-extended-filtering.html
 
there are cases like

     shouldBe('document.querySelectorAll(":lang(foöÉbÁr)").length', '1');

which appear to expect a non-ASCII :lang() code to match. This seems 
unexpected to me, given that the Selectors 4 spec refers to BCP47

> An element’s content language 
<https://w3c.github.io/csswg-drafts/css-text-4/#content-language> matches a 
language 
range <https://w3c.github.io/csswg-drafts/selectors/#language-range> if, 
when represented in BCP 47 syntax [BCP47] 
<https://w3c.github.io/csswg-drafts/selectors/#biblio-bcp47>, it matches 
that language range in an extended filtering operation per [RFC4647] 
<https://w3c.github.io/csswg-drafts/selectors/#biblio-rfc4647> Matching of 
Language Tags(section 3.3.2). 

and BCP47 specifically mentions that

> the language tags described in this document are sequences of characters 
from the US-ASCII [ISO646 
<https://www.rfc-editor.org/rfc/rfc5646#ref-ISO646>] repertoire

>From this, I would conclude that a string containing non-ASCII characters 
cannot be a "language tag" per BCP47 at all, and therefore cannot possibly 
match.

On Thursday, 30 March 2023 at 07:58:10 UTC+1 Roger Zanoni wrote:

> Hi Yoav,  thanks for checking, I will answer inline
>
> On Friday, March 17, 2023 at 10:59:14 AM UTC+1 yoav...@chromium.org wrote:
>
> On Thu, Mar 16, 2023 at 11:09 AM Roger Zanoni <rza...@igalia.com> wrote:
>
> Contact emails rza...@igalia.com
>
> Explainer https://github.com/rogerzanoni/docs/tree/main/lang-level-4
>
> Specification https://www.w3.org/TR/selectors-4/#the-lang-pseudo
>
> Summary 
>
> The :lang CSS pseudo-class currently matches elements based on level 3 
> specs logic, which describes a prefix-matching rule to match language 
> values. The level 4 spec changes this matching logic, supporting 
> argument-list and language range matching (according to the specs of the 
> extended filtering operation from RFC4647 - Matching of language tags - 
> section 3.3.2, and the simple priority list matching described on section 
> 2.3)
>
>
> Blink component Blink>CSS 
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>
>
> Search tags css <https://chromestatus.com/features#tags:css>, lang 
> <https://chromestatus.com/features#tags:lang>, pseudo 
> <https://chromestatus.com/features#tags:pseudo>
>
> TAG review Just extends functionality of the existing :lang selector.
>
> TAG review status Not applicable
>
> Risks 
>
>
> Interoperability and Compatibility 
>
> This change mostly extends :lang functionality and don't change existing 
> behavior, except for adding implicit wildcard matching, which breaks one of 
> the existing level 3 tests: 
> https://wpt.fyi/results/css/selectors/i18n/css3-selectors-lang-005.html
>
>
> *Gecko*: No signal (https://bugzilla.mozilla.org/show_bug.cgi?id=1121792)
>
>
> Can you file for a Mozilla position? https://bit.ly/blink-signals
>
>
> Filed: https://github.com/mozilla/standards-positions/issues/735
>  
>
>  
>
>
> *WebKit*: Shipped/Shipping (
> https://webkit.org/status/#feature-css-selector-:lang)
>
> *Web developers*: No signals
>
> *Other signals*: CSSWG consensus to ship documented in 
> https://www.w3.org/TR/css-2017/#experimental (CSSWG includes reps from 
> all major browser vendors)
>
> 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?
>
> No.
>
>
> Debuggability 
>
> Automatically supported, same as other pseudo-elements.
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac, 
> Linux, Chrome OS, 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>
> ? No
>
>
> Why not? How do we know that WebKit actually supports this if it's not 
> tested?
>  
>
>
> It's tested by Webkit, but not by wpt tests, it's tested by 
> https://github.com/WebKit/WebKit/blob/main/LayoutTests/fast/selectors/lang-extended-filtering.html
>  
> and 
> https://github.com/WebKit/WebKit/blob/main/LayoutTests/fast/selectors/lang-extended-filtering-with-string-arguments.html
>
> I'm still working on the wpt tests to make them cover as much as it's 
> tested there, I will update my CL with more tests.
>
>  
>
>
>
> Flag name 
>
> Requires code in //chrome? False
>
> Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=1281157
>
> Estimated milestones 
>
> No milestones specified
>
>
> 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).
>
>
> Link to entry on the Chrome Platform Status 
> https://chromestatus.com/feature/5071058079055872
>
> Links to previous Intent discussions Intent to prototype: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dd1cdecb-3bd5-cf6c-bf5c-120735d36ee6%40igalia.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+...@chromium.org.
> To view this discussion on the web visit 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/29b5144d-ba62-bfc9-677c-a9a7e72c09f9%40igalia.com
>  
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/29b5144d-ba62-bfc9-677c-a9a7e72c09f9%40igalia.com?utm_medium=email&utm_source=footer>
> .
>
>

-- 
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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7e68bcf5-ba1a-4ffe-b34d-59804826dba1n%40chromium.org.

Reply via email to