As I am currently in the process of writing an implementation for ruby, I was wondering about the constraints put on the content of the &lt;rp&gt; element in the spec:<br>
<dl style="color: rgb(0, 102, 0);"><dd>If the <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-rp-element" target="_blank">rp</a></code> element is immediately after an <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-rt-element" target="_blank">rt</a></code> element that is immediately preceded by another <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-rp-element" target="_blank">rp</a></code> element: a single character from Unicode character class Pe.</dd>


<dd>Otherwise: a single character from Unicode character class Ps.</dd></dl>Is there a specific reason that &lt;rp&gt; is constrained in this way? I imagine that someone could want to add additional spaces before/after the parenthesis, non-parenthesis separators, or, e.g., in a text book write:<br>

<br>
<div style="margin-left: 40px;"><b>&lt;ruby&gt;</b><span lang="ja">漢字<b>&lt;rp&gt; </b>(reading:<b>&lt;/rp&gt;&lt;rt&gt;</b>Kanji<b>&lt;/rt&gt;</b></span><b>&lt;rp&gt;</b>) <b>&lt;/rp&gt;&lt;ruby&gt;<br><br></b></div>Also note that there isn&#39;t such a constraint if one would use CSS rules to achieve a similar result (in the absence of proper ruby rendering):<br>

<br><div style="margin-left: 40px;">rt:before { content: &quot; (reading: &quot;; }<br>rt:after { content: &quot;) &quot;; }<br><br><br></div>Cheers,<br><br>- Roland<br>