Re: [csswg-drafts] Consider Canonicalization of language tags in :lang() selector maching (#4154)

@frivoal I would still make this "editorial" normative change from:

> The matching is performed case-insensitively within the ASCII range.

to:

> The matching is performed [=ASCII case-insensitively=].

This would point to the shared normative definition in Infra.

---

In general, looking through the registry (and with @dbaron's comment above in mind), in many cases _filtering_ using the extlang form makes sense because very many of the tags probably want to match ranges specified in terms of the macrolanguage. For example, the macrolanguage `ik` (Inupiak) has a large-ish number of enclosed languages. Here's an example:

```
%%
Type: language
Subtag: esk
Description: Northwest Alaska Inupiatun
Added: 2009-07-29
Macrolanguage: ik
%%
```

You would want `:lang(ik)` to match all of these languages in the absence of specific tags (e.g. `esk-US` etc.). Users who want language-specific behavior can do `:lang(esk)` and that selector won't match other Inupiak languages by accident. 



-- 
GitHub Notification of comment by aphillips
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4154#issuecomment-3819404926 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 29 January 2026 18:19:44 UTC