Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification on unicode-bidi for input type text and ruby #10896

Open
Ahmad-S792 opened this issue Jan 7, 2025 · 0 comments
Open

Clarification on unicode-bidi for input type text and ruby #10896

Ahmad-S792 opened this issue Jan 7, 2025 · 0 comments

Comments

@Ahmad-S792
Copy link

What is the issue with the HTML Standard?

Hi All,

While trying to implement and understand specification, I have two queries to clarify:

  1. As per following [1], the specification says following:

"Bidi isolation is forced on all internal ruby boxes and the ruby container: the normal and embed values of unicode-bidi compute to isolate, and bidi-override computes to isolate-override."

[1] https://drafts.csswg.org/css-ruby/#bidi , https://drafts.csswg.org/css-ruby/#default-ua-ruby

Which interprets that even if you have unicode-bidi: embed, it should be isolate and even mentioned in UA rules.

While WPT test seems to test different - http://wpt.live/html/rendering/bidi-rendering/unicode-bidi-ua-rules.html, where it is expecting normal should return normal.

Q: Appreciate if someone can clarify this or whether we need to update WPT test to reflect the CSS Ruby specification.

  1. Similarly, for input types, the web specification [2] is limited to few input types:

[2] https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering

input[dir=auto i]:is([type=search i], [type=tel i], [type=url i],
[type=email i]) {
  unicode-bidi: plaintext;
}

and just below, it states following:

When an input element's dir attribute is in the auto state and its type attribute is in the Text state, then the user agent is expected to act as if it had a user-agent-level style sheet rule setting the 'unicode-bidi' property to 'plaintext'.

While doing following PR in WebKit - WebKit/WebKit#38434, it was mentioned that we should clarify whether this should be extended to other text input types such as password and text itself.

Appreciate if we can clarify and whether we need to extend our test coverage as well.

Thanks!

@fantasai and @pxlcoder - FYI

Ahmad-S792 added a commit to Ahmad-S792/WebKit that referenced this issue Jan 7, 2025
https://bugs.webkit.org/show_bug.cgi?id=285252
rdar://142191490

Reviewed by NOBODY (OOPS!).

This patch aligns WebKit with Web Specification [1]:

[1] https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering

This patch implements `input` specific rules for directionality being `auto`
and move `textarea` and `pre` rules in UA stylesheet. The rationale is that `is:`
can be lead to performance concern, so did the change in C++, it also
matches Blink / Chromium.

Despite aligning with specification, there is still ambiguity on how to deal with
`password` and `text` input types for which following issue is raised [2].

[2] whatwg/html#10896

* Source/WebCore/css/html.css:
(textarea[dir=auto i], pre[dir=auto i]):
* Source/WebCore/html/HTMLElement.cpp:
(WebCore::unicodeBidiAttributeForDirAuto):
* LayoutTests/imported/w3c/web-platform-tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules-expected.txt: Rebaselined
(WebCore::HTMLElement::collectPresentationalHintsForAttribute):
webkit-commit-queue pushed a commit to Ahmad-S792/WebKit that referenced this issue Jan 7, 2025
https://bugs.webkit.org/show_bug.cgi?id=285252
rdar://142191490

Reviewed by Aditya Keerthi.

This patch aligns WebKit with Web Specification [1]:

[1] https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering

This patch implements `input` specific rules for directionality being `auto`
and move `textarea` and `pre` rules in UA stylesheet. The rationale is that `is:`
can be lead to performance concern, so did the change in C++, it also
matches Blink / Chromium.

Despite aligning with specification, there is still ambiguity on how to deal with
`password` and `text` input types for which following issue is raised [2].

[2] whatwg/html#10896

* Source/WebCore/css/html.css:
(textarea[dir=auto i], pre[dir=auto i]):
* Source/WebCore/html/HTMLElement.cpp:
(WebCore::unicodeBidiAttributeForDirAuto):
* LayoutTests/imported/w3c/web-platform-tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules-expected.txt: Rebaselined
(WebCore::HTMLElement::collectPresentationalHintsForAttribute):

Canonical link: https://commits.webkit.org/288510@main
webkit-commit-queue pushed a commit to Ahmad-S792/WebKit that referenced this issue Jan 7, 2025
https://bugs.webkit.org/show_bug.cgi?id=285252
rdar://142191490

Reviewed by Aditya Keerthi.

This patch aligns WebKit with Web Specification [1]:

[1] https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering

This patch implements `input` specific rules for directionality being `auto`
and move `textarea` and `pre` rules in UA stylesheet. The rationale is that `is:`
can be lead to performance concern, so did the change in C++, it also
matches Blink / Chromium.

Despite aligning with specification, there is still ambiguity on how to deal with
`password` and `text` input types for which following issue is raised [2].

[2] whatwg/html#10896

* Source/WebCore/css/html.css:
(textarea[dir=auto i], pre[dir=auto i]):
* Source/WebCore/html/HTMLElement.cpp:
(WebCore::unicodeBidiAttributeForDirAuto):
* LayoutTests/imported/w3c/web-platform-tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules-expected.txt: Rebaselined
(WebCore::HTMLElement::collectPresentationalHintsForAttribute):

Canonical link: https://commits.webkit.org/288511@main
ItsJamie9494 pushed a commit to ItsJamie9494/WebKit that referenced this issue Jan 7, 2025
https://bugs.webkit.org/show_bug.cgi?id=285252
rdar://142191490

Reviewed by Aditya Keerthi.

This patch aligns WebKit with Web Specification [1]:

[1] https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering

This patch implements `input` specific rules for directionality being `auto`
and move `textarea` and `pre` rules in UA stylesheet. The rationale is that `is:`
can be lead to performance concern, so did the change in C++, it also
matches Blink / Chromium.

Despite aligning with specification, there is still ambiguity on how to deal with
`password` and `text` input types for which following issue is raised [2].

[2] whatwg/html#10896

* Source/WebCore/css/html.css:
(textarea[dir=auto i], pre[dir=auto i]):
* Source/WebCore/html/HTMLElement.cpp:
(WebCore::unicodeBidiAttributeForDirAuto):
* LayoutTests/imported/w3c/web-platform-tests/html/rendering/bidi-rendering/unicode-bidi-ua-rules-expected.txt: Rebaselined
(WebCore::HTMLElement::collectPresentationalHintsForAttribute):

Canonical link: https://commits.webkit.org/288511@main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant