- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 26 May 2008 10:12:18 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec In directory hutz:/tmp/cvs-serv30396 Modified Files: Overview.html Log Message: <ruby> support. This isn't very compatible with IE, but it seems to be relatively compatible with the Web's usage of ruby. Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.891 retrieving revision 1.892 diff -u -d -r1.891 -r1.892 --- Overview.html 25 May 2008 09:17:13 -0000 1.891 +++ Overview.html 26 May 2008 10:12:15 -0000 1.892 @@ -58,11 +58,11 @@ <h2 class="no-num no-toc" id=a-vocabulary>A vocabulary and associated APIs for HTML and XHTML</h2> - <h2 class="no-num no-toc" id=w3c-working>W3C Working Draft 25 May 2008</h2> + <h2 class="no-num no-toc" id=w3c-working>W3C Working Draft 26 May 2008</h2> <dl><!-- ZZZ <dt>This Version:</dt> - <dd><a href="http://www.w3.org/TR/2008/WD-html5-20080525/">http://www.w3.org/TR/2008/WD-html5-20080525/</a></dd> + <dd><a href="http://www.w3.org/TR/2008/WD-html5-20080526/">http://www.w3.org/TR/2008/WD-html5-20080526/</a></dd> --> <dt>Latest Published Version: @@ -192,7 +192,7 @@ <p>The W3C <a href="http://www.w3.org/html/wg/">HTML Working Group</a> is the W3C working group responsible for this specification's progress along the W3C Recommendation track.<!--ZZZ This - specification is the 25 May 2008 First Public Working Draft.--></p> + specification is the 26 May 2008 First Public Working Draft.--></p> <!-- relationship to other work (required) --> <p>This specification is also being produced by the <a @@ -684,10 +684,19 @@ <li><a href="#the-bdo"><span class=secno>3.10.21 </span>The <code>bdo</code> element</a> - <li><a href="#usage"><span class=secno>3.10.22 </span>Usage + <li><a href="#the-ruby"><span class=secno>3.10.22 </span>The + <code>ruby</code> element</a> + + <li><a href="#the-rt"><span class=secno>3.10.23 </span>The + <code>rt</code> element</a> + + <li><a href="#the-rp"><span class=secno>3.10.24 </span>The + <code>rp</code> element</a> + + <li><a href="#usage"><span class=secno>3.10.25 </span>Usage summary</a> - <li><a href="#footnotes"><span class=secno>3.10.23 + <li><a href="#footnotes"><span class=secno>3.10.26 </span>Footnotes</a> </ul> @@ -10878,7 +10887,6 @@ <h3 id=text-level><span class=secno>3.10 </span>Text-level semantics</h3> <!-- XXX ew, find a better section name --> - <!-- XXX ruby (delayed until someone can define it with error handling rules) --> <h4 id=the-a><span class=secno>3.10.1 </span>The <dfn id=a><code>a</code></dfn> element</h4> @@ -13079,14 +13087,171 @@ <a href="#references">[CSS21]</a></p> <!-- XXX need examples --> - <h4 id=usage><span class=secno>3.10.22 </span>Usage summary</h4> + <h4 id=the-ruby><span class=secno>3.10.22 </span>The <dfn + id=ruby><code>ruby</code></dfn> element</h4> + + <dl class=element> + <dt>Categories + + <dd><a href="#phrasing0">Phrasing content</a>. + + <dt>Contexts in which this element may be used: + + <dd>Where <a href="#phrasing0">phrasing content</a> is expected. + + <dt>Content model: + + <dd>One or more groups of: <a href="#phrasing0">phrasing content</a> + followed either by a single <code><a href="#rt">rt</a></code> element, or + an <code><a href="#rp">rp</a></code> element, an <code><a + href="#rt">rt</a></code> element, and another <code><a + href="#rp">rp</a></code> element. + + <dt>Element-specific attributes: + + <dd>None. + + <dt>DOM interface: + + <dd>Uses <code><a href="#htmlelement">HTMLElement</a></code>. + </dl> + + <p>The <code><a href="#ruby">ruby</a></code> element allows one or more + spans of phrasing content to be marked with ruby annotations. + + <p>A <code><a href="#ruby">ruby</a></code> element represents the spans of + phrasing content it contains, ignoring all the child <code><a + href="#rt">rt</a></code> and <code><a href="#rp">rp</a></code> elements + and their descendants. Those spans of phrasing content have associated + annotations created using the <code><a href="#rt">rt</a></code> element. + + <div class=example> + <p>In this example, each ideograph in the text <span + lang=ja>斎藤信男</span> is annotated with its + reading.</p> + + <pre lang=ja>... <ruby> + 斎 <rt> さい </rt> + 藤 <rt> とう </rt> + 信 <rt> のぶ </rt> + 男 <rt> お </rt> +</ruby> ...</pre> + + <p>This might be rendered as:</p> + + <p><img alt="The four main ideographs, each with its reading annotation + rendered in a smaller font above it." src="images/sample-ruby.png"></p> + </div> + + <h4 id=the-rt><span class=secno>3.10.23 </span>The <dfn + id=rt><code>rt</code></dfn> element</h4> + + <dl class=element> + <dt>Categories + + <dd>None. + + <dt>Contexts in which this element may be used: + + <dd>As a child of a <code><a href="#ruby">ruby</a></code> element. + + <dt>Content model: + + <dd><a href="#phrasing0">Phrasing content</a>. + + <dt>Element-specific attributes: + + <dd>None. + + <dt>DOM interface: + + <dd>Uses <code><a href="#htmlelement">HTMLElement</a></code>. + </dl> + + <p>The <code><a href="#rt">rt</a></code> element marks the ruby text + component of a ruby annotation. + + <p>An <code><a href="#rt">rt</a></code> element that is a child of a + <code><a href="#ruby">ruby</a></code> element represents an annotation + (given by its children) for the zero or more nodes of phrasing content + that immediately precedes it in the <code><a href="#ruby">ruby</a></code> + element, ignoring <code><a href="#rp">rp</a></code> elements. + + <p>An <code><a href="#rt">rt</a></code> element that is not a child of a + <code><a href="#ruby">ruby</a></code> element represents the same thing as + its children. + + <h4 id=the-rp><span class=secno>3.10.24 </span>The <dfn + id=rp><code>rp</code></dfn> element</h4> + + <dl class=element> + <dt>Categories + + <dd>None. + + <dt>Contexts in which this element may be used: + + <dd>As a child of a <code><a href="#ruby">ruby</a></code> element, either + immediately before or immediately after an <code><a + href="#rt">rt</a></code> element. + + <dt>Content model: + + <dd>If the <code><a href="#rp">rp</a></code> element is immediately after + an <code><a href="#rt">rt</a></code> element that is immediately preceded + by another <code><a href="#rp">rp</a></code> element: a single character + from Unicode character class Pe. + + <dd>Otherwise: a single character from Unicode character class Ps. + + <dt>Element-specific attributes: + + <dd>None. + + <dt>DOM interface: + + <dd>Uses <code><a href="#htmlelement">HTMLElement</a></code>. + </dl> + + <p>The <code><a href="#rp">rp</a></code> element can be used to provide + parentheses around a ruby text component of a ruby annotation, to be shown + by user agents that don't support ruby annotations. + + <p>An <code><a href="#rp">rp</a></code> element that is a child of a + <code><a href="#ruby">ruby</a></code> element represents nothing and it + and its contents must be ignored. An <code><a href="#rp">rp</a></code> + element whose parent element is not a <code><a + href="#ruby">ruby</a></code> element represents the same thing as its + children. + + <div class=example> + <p>The example above, in which each ideograph in the text <span + lang=ja>斎藤信男</span> is annotated with its + reading, could be expanded to use <code><a href="#rp">rp</a></code> so + that in legacy user agentthe readings are in parentheses:</p> + + <pre lang=ja>... <ruby> + 斎 <rp>(</rp><rt>さい</rt><rp>)</rp> + 藤 <rp>(</rp><rt>とう</rt><rp>)</rp> + 信 <rp>(</rp><rt>のぶ</rt><rp>)</rp> + 男 <rp>(</rp><rt>お</rt><rp>)</rp> +</ruby> ...</pre> + + <p>In conforming user agents the rendering would be as above, but in user + agents that do not support ruby, the rendering would be:</p> + + <pre + lang=ja>... 斎 (さい) 藤 (とう) 信 (のぶ) 男 (お) ...</pre> + </div> + + <h4 id=usage><span class=secno>3.10.25 </span>Usage summary</h4> <p class=big-issue>We need to summarize the various elements, in particular to distinguish b/i/em/strong/var/q/mark/cite.</p> <!-- XXX when you do this, also reorder the elements in this section to bring the related ones closer together. --> - <h4 id=footnotes><span class=secno>3.10.23 </span>Footnotes</h4> + <h4 id=footnotes><span class=secno>3.10.26 </span>Footnotes</h4> <p>HTML does not have a dedicated mechanism for marking up footnotes. Here are the recommended alternatives. @@ -45081,9 +45246,10 @@ end tags</dfn>, then, while the <a href="#current5">current node</a> is a <code><a href="#dd">dd</a></code> element, a <code><a href="#dt">dt</a></code> element, an <code><a href="#li">li</a></code> - element, or a <code><a href="#p">p</a></code> element, the UA must pop the - <a href="#current5">current node</a> off the <a href="#stack">stack of - open elements</a>. + element, a <code><a href="#p">p</a></code> element, an <code><a + href="#rp">rp</a></code> element, or an <code><a href="#rt">rt</a></code> + element, the UA must pop the <a href="#current5">current node</a> off the + <a href="#stack">stack of open elements</a>. <p>If a step requires the UA to generate implied end tags but lists an element to exclude from the process, then the UA must perform the above @@ -46907,6 +47073,38 @@ in table</a>". Otherwise, switch the <span>insertion mode</span> to "<a href="#in-select" title="insertion mode: in select">in select</a>".</p> + <dt>A start tag whose tag name is one of: "rp", "rt" + + <dd> <!-- the parsing rules for ruby really don't match IE much at all, + but in practice the markup used is very simple and so strict + compatibility with IE isn't required. For example, as defined + here we get very, very different behaviour than IE for + pathological cases like: + + <ruby><ol><li><p>a<rt>b + <ruby>a<rt>b<p>c + + But in practice most ruby markup falls into these cases: + + <ruby>a<rt>b</ruby> + <ruby>a<rp>b<rt>c<rp>d</ruby> + <ruby>a<rt>b</rt></ruby> + <ruby>a<rp>b</rp><rt>c</rt><rp>d</rp></ruby> + + --> + + <p>If the <a href="#stack">stack of open elements</a> <a href="#have-an" + title="has an element in scope">has a <code>ruby</code> element in + scope</a>, then <a href="#generate">generate implied end tags</a>. If + the <a href="#current5">current node</a> is not then a <code><a + href="#ruby">ruby</a></code> element, this is a <a href="#parse1">parse + error</a>; pop all the nodes from the <a href="#current5">current + node</a> up to the node immediately before the bottommost <code><a + href="#ruby">ruby</a></code> element on the <a href="#stack">stack of + open elements</a>.</p> + + <p><a href="#insert0">Insert an HTML element</a> for the token.</p> + <dt>An end tag whose tag name is "br" <dd>
Received on Monday, 26 May 2008 10:12:59 UTC