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

Ruby-position incorrectly marked as Baseline ? #2634

Open
kosamari opened this issue Feb 11, 2025 · 4 comments
Open

Ruby-position incorrectly marked as Baseline ? #2634

kosamari opened this issue Feb 11, 2025 · 4 comments

Comments

@kosamari
Copy link
Contributor

I’m trying to understand Baseline status of a feature - ruby-position

It became Newly available in December 2024 with Safari update. In writing blog post for it, realized one of the keyword inter-character does not render as expected (you can see the expected behavior and current rendering here), and BCD also suggests this feature is incomplete.

Was there a reason / pervious discussion as to why this feature is marked Baseline Newly available on web-features?

Expected behavior: https://www.w3.org/International/articles/ruby/styling.en.html#bopomofo_position
BCD table on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-position#browser_compatibility

Related bugs
Chrome Bug: https://issues.chromium.org/issues/40174517
FireFox Butg https://bugzilla.mozilla.org/show_bug.cgi?id=1055672
Safari Bug: https://bugs.webkit.org/show_bug.cgi?id=285694

@atopal
Copy link
Collaborator

atopal commented Feb 13, 2025

Mariko, what do you think about that sub-feature of Ruby-positon? Is Ruby-position usable without that? Would it make sense to have that as a stand-alone feature instead?

@captainbrosset
Copy link
Contributor

captainbrosset commented Feb 13, 2025

As someone who, I think, has worked on the spec and/or implementation of ruby, @upsuper would you be able to share your expert point of view on the inter-character value?
We're trying to decide if it is considered, by web devs, as an integral part of ruby-position and has to "block" that property from being considered Baseline, or a somewhat less important addition which is nice but doesn't prevent someone from using ruby-position.

@ddbeck
Copy link
Collaborator

ddbeck commented Feb 13, 2025

(dist file, for reference)

To put this in more concrete terms, we're considering three options, saying roughly:

  1. ruby-position as a whole is well-supported, ignoring alternate and inter-character.
  2. ruby-position as a whole is well-supported, but there are additional less well-supported features of ruby-position: alternate and/or ruby-position: inter-character.
  3. ruby-position as a whole is not well-supported because of lack of support for some values.

@upsuper
Copy link

upsuper commented Feb 15, 2025

@captainbrosset Majority of CSS Ruby usage comes from Japanese, occasionally some Chinese. Outside Japanese and Chinese, this is more a marginal feature.

For Japanese and Simplified Chinese, the current ruby-position support of over and under is already more than enough. inter-character is only used in Traditional Chinese.

There are several reasons why inter-character may not have been a priority for browsers from implementation point of view:

  1. It is only used in Traditional Chinese, and mostly only in educational context (i.e. very rare in general content). So it's application is limited.
  2. Its visual effect can largely be simulated with inserting inline-blocks with vertical text between characters. Such simulation wouldn't have the right semantics, and can lack certain features, but it is not too bad in most of cases
  3. Its implementation is fundamentally different from other values that it requires a lot more special handling, so it introduces extra implementation complexities.

So I'd say ruby-position: inter-character should be considered a separate feature than ruby-position: [over | under], and I'd suggest it doesn't need to block ruby-position itself from being considered Baseline.

@ddbeck alternate is an interesting question. ruby-position: alternate only makes sense when native multi-level ruby is supported, which, based on the current spec, means display: ruby-text-container needs to be supported. Without multi-level ruby, alternate has no effect, so there is no point to support it at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants