hixie: Define conformance criteria around bidi formatting characters (whatwg r5754)

hixie: Define conformance criteria around bidi formatting characters
(whatwg r5754)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4614&r2=1.4615&f=h
http://html5.org/tools/web-apps-tracker?from=5753&to=5754

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4614
retrieving revision 1.4615
diff -u -d -r1.4614 -r1.4615
--- Overview.html 9 Jan 2011 20:41:33 -0000 1.4614
+++ Overview.html 10 Jan 2011 09:55:20 -0000 1.4615
@@ -665,7 +665,9 @@
          <li><a href="#interactive-content-0"><span class="secno">3.2.5.1.7 </span>Interactive content</a></ol></li>
        <li><a href="#transparent-content-models"><span class="secno">3.2.5.2 </span>Transparent content models</a></li>
        <li><a href="#paragraphs"><span class="secno">3.2.5.3 </span>Paragraphs</a></ol></li>
-     <li><a href="#annotations-for-assistive-technology-products-aria"><span class="secno">3.2.6 </span>Annotations for assistive technology products (ARIA)</a></ol></li>
+     <li><a href="#requirements-relating-to-bidirectional-algorithm-formatting-characters"><span class="secno">3.2.6 </span>Requirements relating to bidirectional-algorithm formatting
+  characters</a></li>
+     <li><a href="#annotations-for-assistive-technology-products-aria"><span class="secno">3.2.7 </span>Annotations for assistive technology products (ARIA)</a></ol></li>
    <li><a href="#apis-in-html-documents"><span class="secno">3.3 </span>APIs in HTML documents</a></li>
    <li><a href="#interactions-with-xpath-and-xslt"><span class="secno">3.4 </span>Interactions with XPath and XSLT</a></li>
    <li><a href="#dynamic-markup-insertion"><span class="secno">3.5 </span>Dynamic markup insertion</a>
@@ -9661,7 +9663,44 @@
    <p>To avoid this confusion, explicit <code><a href="#the-p-element">p</a></code> elements can be
    used.</p>
 
-  </div><h4 id="annotations-for-assistive-technology-products-aria"><span class="secno">3.2.6 </span><dfn>Annotations for assistive technology products</dfn> (ARIA)</h4><p>Authors may use the ARIA <code title="attr-aria-role">role</code>
+  </div><h4 id="requirements-relating-to-bidirectional-algorithm-formatting-characters"><span class="secno">3.2.6 </span>Requirements relating to bidirectional-algorithm formatting
+  characters</h4><p><a href="#text-content">Text content</a> in <a href="#html-elements">HTML elements</a> with
+  child <a href="#text-node" title="text node">text nodes</a>, and text in
+  attributes of <a href="#html-elements">HTML elements</a> that allow free-form text,
+  may contain characters in the range U+202A to U+202E (the
+  bidirectional-algorithm formatting characters). However, the use of
+  these characters is restricted so that any embedding or overrides
+  generated by these characters do not start and end with different
+  parent elements, and so that all such embeddings and overrides are
+  explicitly terminated by a U+202C POP DIRECTIONAL FORMATTING
+  character. This helps reduces incidences of text being reused in a
+  manner that has unforseen effects on the bidirectional
+  algorithm.<p>The aforementioned restrictions are defined by specifying that
+  certain parts of documents form <a href="#bidirectional-algorithm-formatting-character-ranges">bidirectional-algorithm
+  formatting character ranges</a>, and then imposing a requirement
+  on such ranges.<p>The string resulting from the concatenation of the data of all of
+  an <a href="#html-elements" title="HTML elements">HTML element</a>'s <a href="#text-node" title="text node">text nodes</a>, if any, is a <a href="#bidirectional-algorithm-formatting-character-ranges" title="bidirectional-algorithm formatting character
+  ranges">bidirectional-algorithm formatting character
+  range</a>.<p>The value of a namespace-less attribute of an <a href="#html-elements" title="HTML
+  elements">HTML element</a> is a <a href="#bidirectional-algorithm-formatting-character-ranges" title="bidirectional-algorithm formatting character
+  ranges">bidirectional-algorithm formatting character
+  range</a>.<p>Any strings that, as described above, are
+  <dfn id="bidirectional-algorithm-formatting-character-ranges">bidirectional-algorithm formatting character ranges</dfn> must
+  match the <code title="">string</code> production in the following
+  ABNF, the character set for which is Unicode. <a href="#refsABNF">[ABNF]</a><pre>string        = *( plaintext ( embedding / override ) ) plaintext
+embedding     = ( lre / rle ) string pdf
+override      = ( lro / rlo ) string pdf
+lre           = %x202A ; U+202A LEFT-TO-RIGHT EMBEDDING
+rle           = %x202B ; U+202B RIGHT-TO-LEFT EMBEDDING
+lro           = %x202D ; U+202D LEFT-TO-RIGHT OVERRIDE
+rlo           = %x202E ; U+202E RIGHT-TO-LEFT OVERRIDE
+pdf           = %x202C ; U+202C POP DIRECTIONAL FORMATTING
+plaintext     = *( %x0000-2029 / %x202F-10FFFF )
+                ; any string with no bidirectional-algorithm formatting characters</pre><p class="note">For convenience, where possible authors will likely
+  prefer to use the <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code> attribute, the
+  <code><a href="#the-bdo-element">bdo</a></code> element, and the <code><a href="#the-bdi-element">bdi</a></code> element, rather
+  than maintaining the bidirectional-algorithm formatting characters
+  manually.<h4 id="annotations-for-assistive-technology-products-aria"><span class="secno">3.2.7 </span><dfn>Annotations for assistive technology products</dfn> (ARIA)</h4><p>Authors may use the ARIA <code title="attr-aria-role">role</code>
   and <code title="attr-aria-*">aria-*</code> attributes on <a href="#html-elements">HTML
   elements</a>, in accordance with the requirements described in
   the ARIA specifications, except where these conflict with the
@@ -13445,9 +13484,9 @@
   parameter for the purpose of comparing <a href="#mime-type" title="MIME type">MIME
   types</a> here.</p>
 
-  </div><h5 id="restrictions-for-contents-of-script-elements"><span class="secno">4.3.1.2 </span><dfn title="script content restrictions">Restrictions for contents of <code>script</code> elements</dfn></h5><p>The <code><a href="#textcontent">textContent</a></code> of a <code><a href="#script">script</a></code> element must match the
-  <code title="">script</code> production in the following ABNF, the
-  character set for which is Unicode. <a href="#refsABNF">[ABNF]</a><pre>script        = data1 *( escape [ script-start data3 ] "--&gt;" data1 ) [ escape ]
+  </div><h5 id="restrictions-for-contents-of-script-elements"><span class="secno">4.3.1.2 </span><dfn title="script content restrictions">Restrictions for contents of <code>script</code> elements</dfn></h5><p>The <code><a href="#textcontent">textContent</a></code> of a <code><a href="#script">script</a></code> element
+  must match the <code title="">script</code> production in the
+  following ABNF, the character set for which is Unicode. <a href="#refsABNF">[ABNF]</a><pre>script        = data1 *( escape [ script-start data3 ] "--&gt;" data1 ) [ escape ]
 escape        = "&lt;!--" data2 *( script-start data3 script-end data2 )
 
 data1         = &lt;any string that doesn't contain a substring that matches not-data1&gt;

Received on Wednesday, 12 January 2011 02:44:12 UTC