- From: Markus Scherer <notifications@github.com>
- Date: Wed, 18 Feb 2026 10:00:47 -0800
- To: whatwg/url <url@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/url/issues/543/3922325238@github.com>
markusicu left a comment (whatwg/url#543)
Trying to make it spiffy and implementation-friendly:
- If the current label is an RTL label, then all of the following must be true:
- The current label must satisfy the bidi rule conditions.
- The next label (if there is one other than the empty root label) must satisfy the bidi rule conditions.
- From the current label, check preceding labels. Skip each label that contains only Bidi_Class=European_Number characters. If there is another label immediately before zero or more all-EN labels, then it must satisfy the bidi rule conditions.
Implementation notes:
- We can quickly find out during earlier processing steps whether there is any RTL label -- whether we have a bidi domain name.
- We do need to introduce one new type of check; here one for "label that contains only bc=EN", as opposed to the earlier proposal's "LDH label" and "LDH label that does not start with bc=EN".
- By not trying to be extra clever about just the end of the preceding label / start of the next label, we don't need yet more types of label checks.
- I would expect implementations to actually classify all labels front to back, and keep a little bit of state to check for adjacent label bidi types, rather than scan out from each RTL label. And only do any of this if earlier processing found this to be a bidi domain name.
--
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/url/issues/543#issuecomment-3922325238
You are receiving this because you are subscribed to this thread.
Message ID: <whatwg/url/issues/543/3922325238@github.com>
Received on Wednesday, 18 February 2026 18:00:51 UTC