- From: Emilio Cobos Álvarez via GitHub <noreply@w3.org>
- Date: Thu, 16 Apr 2026 12:01:12 +0000
- To: public-css-archive@w3.org
emilio has just created a new issue for https://github.com/w3c/csswg-drafts:
== [css-overflow] Scroll direction of unicode-bidi: plaintext. ==
Consider this test-case:
```html
<!doctype html>
<meta charset=utf-8>
<style>
div,
input,
textarea {
outline: 1px solid;
background-color: transparent;
color: inherit;
width: 200px;
padding: 0;
border: 0;
font: 30px sans-serif;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
white-space: nowrap;
unicode-bidi: plaintext;
}
</style>
<input value="اسماء.شبكة/%20/test/"><br>
<textarea rows="1">اسماء.شبكة/%20/test/</textarea>
<div style="overflow: scroll">
<span style="display: block; unicode-bidi: inherit;">
اسماء.شبكة/%20/test/
</span>
</div>
<div style="overflow: scroll">
اسماء.شبكة/%20/test/
</div>
```
As of today:
* WebKit always treats all these scrollers as ltr (can't scroll at all, or scroll to blank).
* Blink treats the `<input>` and last `<div>` as rtl, but the `<textarea>` and the first `<div>` are not scrollable.
* Gecko treats `<input>` / `<textarea>` / the second `<div>` as rtl, but the first `<div>` as RTL.
My expectation is that all four things should be scrollable, and this should be a bit better defined.
Right now Gecko does a [very simplistic check](https://searchfox.org/firefox-main/rev/662d18616bbb2da4c5a8758da50fc9d591d18c19/layout/generic/ScrollContainerFrame.cpp#6943-6952) that effectively doesn't drill through the `<span>`, causing this issue.
What is Blink doing? What should the spec say?
cc @jfkthame
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/13816 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 16 April 2026 12:01:13 UTC