-
Notifications
You must be signed in to change notification settings - Fork 715
[css-ruby] siblings/children vs in-flow siblings/children in box fixup #4958
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
Comments
I believe Firefox's current implementation matches this interpretation, not necessarily intentionally. Rereading the spec, I think I missed "Any consecutive sequence of text and inline-level boxes" during implementation, so in this case it doesn't really become an intra-ruby whitespace. This feels like an implementation bug in Firefox that can probably be fixed. And I think making it consider only in-flow content makes sense. (Note to myself: we may need to additionally deal with placeholder frame inside ruby frame and ruby level container frames as they would no longer be wrapped.) |
The CSS Working Group just discussed
The full IRC log of that discussion<dael> Topic: css-ruby] siblings/children vs in-flow siblings/children in box fixup<dael> github: https://github.com//issues/4958 <castastrophe> castastrophe+ <dael> florian: fixup step. Ruby has structure and needs right boxes. <dael> florian: Steps written as if they're exhaustive. But they're not b/c ignoring out of flow children of a ruby structure <dael> florian: I think if something is abspos of ruby it isn't meant to be fixedup. I think things out of flow are left as is. If that's the intent it should say inflow chilred where it says children. If intent is something else I need to know what <dael> fantasai: Ruby should only be in flow stuff. <dael> fantasai: Out of flow should be ignored to extent we can ignore it <dael> florian: I've written text in issue, but it's adding inflow in places where it's implied <dael> fantasai: Let's add it <dael> fantasai: We can move on unless there's anything else <dael> astearns: Objections to make the proposed change to make processing of ruby only work on inflow content <dael> RESOLVED: make the proposed change to make processing of ruby only work on inflow content |
Uh oh!
There was an error while loading. Please reload this page.
By the end of steps 1 through 3 of the anonymous ruby box generation, all the in-flow content of a ruby container should be a properly structured set of ruby base containers, ruby annotation containers, ruby bases, ruby annotations, and inline-level content of the bases / annotations.
Out of flow content is left alone, and stays as it was initially.
The last sentence of step 3 says that for intra-ruby white space, we need to look at steps 4 through 6 to figure out if it is discarded or preserved, and if preserved, how.
However, steps 4 through 6 talk about siblings and children, without specifying whether they're only addressing in-flow children. Logically, that would mean they're talking about all children, but if that is the case, then the situations they describe are not exhaustive, and we're left with no answer about what we should be doing about the intra-ruby white space in some situations.
For instance, as far as I can tell, the following case would not be covered
One possible interpretation is that any such intra-ruby white space that isn't covered by rules 4 to 6 is preserved, and is either a ruby base or a ruby annotation, depending on which kind of container it's in. So in the example above, the space would be wrapped in an anonymous ruby base.
However:
Therefore, I suggest re-writing steps 4 to 6 as follows:
If we don't want to do that, and want to consider all the content, even out of flow, I suggest we clarify exactly what that means. My best guess would be:
While that would make the whole thing unambiguous (I think), I don't think this would be great behavior though.
The text was updated successfully, but these errors were encountered: