<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>10244</bug_id>
          
          <creation_ts>2010-07-28 05:05:56 +0000</creation_ts>
          <short_desc>The processing is not defined if the &lt;ruby&gt; content model is violated (e.g. if there are multiple &lt;rt&gt; elements, more than 2 &lt;rp&gt; elements, mis-ordered &lt;rp&gt; elements, and so forth.</short_desc>
          <delta_ts>2010-10-04 14:56:19 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>pre-LC1 HTML5 spec (editor: Ian Hickson)</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/#the-ruby-element</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>contributor</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>annevk</cc>
    
    <cc>bzbarsky</cc>
    
    <cc>ian</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>37130</commentid>
    <comment_count>0</comment_count>
    <who name="">contributor</who>
    <bug_when>2010-07-28 05:05:56 +0000</bug_when>
    <thetext>Section: http://www.whatwg.org/specs/web-apps/current-work/#the-ruby-element

Comment:
The processing is not defined if the &lt;ruby&gt; content model is violated (e.g. if
there are multiple &lt;rt&gt; elements, more than 2 &lt;rp&gt; elements, mis-ordered &lt;rp&gt;
elements, and so forth.

Posted from: 173.48.34.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38701</commentid>
    <comment_count>1</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-08 22:20:59 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Did Not Understand Request
Change Description: no spec change
Rationale: I don&apos;t understand. Could you elaborate? What needs defining exactly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38714</commentid>
    <comment_count>2</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-09 00:18:23 +0000</bug_when>
    <thetext>The entire processing model.  What are UAs supposed to do with this stuff?  How are they supposed to handle &lt;ruby&gt; tags that have three &lt;rp&gt; kids and no &lt;rt&gt; kid?  That sort of thing.  Right now the normative UA requirements here seem to be close to nonexistent.

Or, put another way, as a UA implementor I have no idea how I&apos;d implement this part of the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39263</commentid>
    <comment_count>3</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2010-09-24 09:09:00 +0000</bug_when>
    <thetext>The rendering rules are defined in the rendering section. Are you saying those are not sufficient? (Asking since this bug report is referencing the element definition.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39294</commentid>
    <comment_count>4</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-24 15:39:36 +0000</bug_when>
    <thetext>Ah, I hadn&apos;t seen those.  The full text of those, as far as I can see, is:

  Put these rules in the UA stylesheet:

    ruby { display: ruby; }
    rt { display: ruby-text; }
    rp { display: none; }

  For the purposes of the CSS ruby model, runs of children of ruby elements that
  are not rt or rp elements are expected to be wrapped in anonymous boxes whose
  &apos;display&apos; property has the value &apos;ruby-base&apos;. [CSSRUBY]

  User agents that do not support correct ruby rendering are expected to render
  parentheses around the text of rt elements in the absence of rp elements.

That&apos;s not sufficient, no, given that the CSS ruby model does not describe the rendering of the box model that the HTML5 rules can produce in some cases.  For example, if &lt;ruby&gt; only has &lt;rt&gt; kids and nothing else.  Or if &lt;ruby&gt; has an &lt;rt&gt; kid, then some text, then an &lt;rt&gt; kid, then some more text, then another &lt;rt&gt; kid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39296</commentid>
    <comment_count>5</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2010-09-24 15:49:27 +0000</bug_when>
    <thetext>I think that would need to be fixed in the CSS Ruby Module.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39297</commentid>
    <comment_count>6</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-24 16:03:53 +0000</bug_when>
    <thetext>Perhaps, but since you seemed to be drawing a distinction between &quot;what HTML5 specifies&quot; and &quot;The CSS Ruby module&quot; in https://bugzilla.mozilla.org/show_bug.cgi?id=256274#c86 you clearly think that there&apos;s a difference.

As far as I can tell, handling the invalid-markup cases involves some of those &quot;concepts not present in HTML5&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39299</commentid>
    <comment_count>7</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-24 16:05:12 +0000</bug_when>
    <thetext>And the point remains: as an implementor, I currently cannot implement HTML5&apos;s ruby stuff and have any hope of interop.  I&apos;d have to make dozens of arbitrary decisions (and likely will); then expect &quot;content will break&quot; pushback if those decisions need to be changed after ruby has been in use in the wild for a while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39302</commentid>
    <comment_count>8</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2010-09-24 16:20:40 +0000</bug_when>
    <thetext>So I agree this is not an ideal situation. The distinction I meant to draw in the Mozilla bug was between what HTML5 requires of the CSS Ruby Module and what http://www.w3.org/TR/ruby/ requires of the CSS Ruby Module. Because if we really want the latter we will need changes to HTML5 -- for the other elements -- and we have to see whether everyone is on board with that. (I would prefer it if everyone had the simple version to start with and then we go from there.)

Now unrelated to whether of those two paths we pick, the CSS Ruby Module will need to be updated to handle unexpected situations. (Much like we have done to some extent with CSS tables.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39303</commentid>
    <comment_count>9</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-24 16:22:26 +0000</bug_when>
    <thetext>What do you think HTML5 requires from the CSS ruby module, exactly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39304</commentid>
    <comment_count>10</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2010-09-24 16:28:22 +0000</bug_when>
    <thetext>A proper definition of the display values mentioned in the references section. Probably roughly in line with how they have been implemented in Internet Explorer. (Except where we can do better and people are willing to change, etc.)

Beyond that there is no real dependency. I do not think it would make sense to add more display types than we have elements for, but some of the other properties probably still make sense. I have not looked at that in detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39305</commentid>
    <comment_count>11</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-24 16:38:27 +0000</bug_when>
    <thetext>The HTML5 spec requires defining how the &apos;ruby&apos;, &apos;ruby-text&apos;, and &apos;ruby-base&apos; display types interact, in arbitrary configurations.

CSS3 Ruby defines the behavior one the &quot;one &apos;ruby-base&apos; with multiple &apos;ruby-text&apos;s&quot; case in terms of &apos;ruby-text-container&apos; boxes.  And it defines that you can only use &apos;ruby-text-container&apos; with &apos;ruby-base-container&apos;.  So at that point handling the HTML5 stuff requires support for all the ruby display types in CSS3 Ruby, and then elements can be styled with those types in arbitrary combinations.  And then where is the difference, exactly?

Now maybe you&apos;re suggesting that CSS3 Ruby should be rewritten in such a way as to support the HTML5 stuff without pulling in the container box types?  Or that one should allow container boxes created to handle CSS Ruby but not allow specifying those display types in stylesheets?  I&apos;d be fine with either of those approaches, if it&apos;s actually less work than full CSS3 Ruby support... is it?  Hard to tell, since we don&apos;t have a processing model defined for any of those options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39427</commentid>
    <comment_count>12</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-26 01:36:44 +0000</bug_when>
    <thetext>If by &quot;processing model&quot; you mean &quot;pixel-level rendering model&quot;, then that&apos;s out of scope of the HTML spec. The CSS spec will have to define how the ruby display values work in all combinations and with any other display types; if it doesn&apos;t then that&apos;s a bug with that spec, not with HTML. (Any spec that introduces new display types has to define how they work in all combinations since it&apos;s not possible to prevent authors from constructing arbitrary combinations.)

I would transfer this bug to the CSSWG but they don&apos;t seem to use Bugzilla. Anne, is anyone working on that spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39471</commentid>
    <comment_count>13</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-26 12:20:02 +0000</bug_when>
    <thetext>Then why are you giving examples of expected rendering, if expected rendering is not in fact defined in this specification?

Given the state of the CSS Ruby module, and the fact that it&apos;s not in fact being actively worked on, last I checked, it _may_ be better to not define ruby by reference to it.  We should see as we get closer to CR.  Right now, again, there&apos;s no sane way to interoperably implement the HTML5 text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39796</commentid>
    <comment_count>14</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-28 19:45:05 +0000</bug_when>
    <thetext>I give the examples of expected rendering because those are the expected renderings, regardless of what we end up defining for error handling.

I don&apos;t know what else to do than refer to CSS here. I&apos;m certainly not going to write the CSS module as part of HTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39801</commentid>
    <comment_count>15</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2010-09-28 19:55:59 +0000</bug_when>
    <thetext>Well, the other option is to pull the spec section entirely (might happen anyway if we try to exit CR, due to lack of interop).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39847</commentid>
    <comment_count>16</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-29 00:01:08 +0000</bug_when>
    <thetext>Fair enough.

I&apos;ll mark this as closed for now, with the hope that CSS Ruby will get a usable definition before we get to exit CR. If it doesn&apos;t, as you say, we&apos;ll probably have to drop this feature.


EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: see discussion above</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>