[html5] r8317 - [giow] (1) Move all requirements about bidi out and just rely on CSS instead. Al [...]

whatwg at whatwg.org whatwg at whatwg.org
Mon Dec 2 12:07:07 PST 2013


Author: ianh
Date: 2013-12-02 12:07:06 -0800 (Mon, 02 Dec 2013)
New Revision: 8317

Modified:
   complete.html
   index
   source
Log:
[giow] (1) Move all requirements about bidi out and just rely on CSS instead. Also, fix the CSS rules for <bdo>.
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=23260
Affected topics: HTML, Rendering

Modified: complete.html
===================================================================
--- complete.html	2013-11-26 23:03:20 UTC (rev 8316)
+++ complete.html	2013-12-02 20:07:06 UTC (rev 8317)
@@ -298,7 +298,7 @@
 
   <header class=head id=head><p><a href=http://www.whatwg.org/ class=logo><img width=101 src=/images/logo alt=WHATWG height=101></a></p>
    <hgroup><h1 class=allcaps>HTML</h1>
-    <h2 class="no-num no-toc">Living Standard — Last Updated 26 November 2013</h2>
+    <h2 class="no-num no-toc">Living Standard — Last Updated 2 December 2013</h2>
    </hgroup><dl><dt><strong>Web developer edition:</strong></dt>
     <dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
     <dt>Multiple-page version:</dt>
@@ -480,7 +480,10 @@
        <li><a href=#classes><span class=secno>3.2.5.7 </span>The <code>class</code> attribute</a></li>
        <li><a href=#the-style-attribute><span class=secno>3.2.5.8 </span>The <code>style</code> attribute</a></li>
        <li><a href=#embedding-custom-non-visible-data-with-the-data-*-attributes><span class=secno>3.2.5.9 </span>Embedding custom non-visible data with the <code title=attr-data-*>data-*</code> attributes</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=#requirements-relating-to-the-bidirectional-algorithm><span class=secno>3.2.6 </span>Requirements relating to the bidirectional algorithm</a>
+      <ol>
+       <li><a href=#authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters><span class=secno>3.2.6.1 </span>Authoring conformance criteria for bidirectional-algorithm formatting characters</a></li>
+       <li><a href=#user-agent-conformance-criteria><span class=secno>3.2.6.2 </span>User agent conformance criteria</a></ol></li>
      <li><a href=#wai-aria><span class=secno>3.2.7 </span>WAI-ARIA</a></ol></ol></li>
  <li><a href=#semantics><span class=secno>4 </span>The elements of HTML</a>
   <ol>
@@ -10889,18 +10892,12 @@
   directionality">directionality</a> from their parent element, or, if they don't have one,
   default to '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
 
-  <p>For the purposes of applying the bidirectional algorithm to the contents of elements with a
-  <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute that is in one of the states defined above, user
-  agents must treat the element as an independent and isolated segment.</p>
+  <div class=impl>
 
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a such an element finds itself within, the element must be treated like a U+FFFC OBJECT
-  REPLACEMENT CHARACTER (in the same manner that an image or other inline object is handled).</p>
+  <p class=note>This attribute <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-  <p>The requirements on handling such elements for the bidirectional algorithm may be implemented
-  indirectly through the style layer. For example, the rendering section in this specification
-  defines a mapping from the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute to the CSS 'direction' and
-  'unicode-bidi' properties, and CSS defines rendering in terms of those properties.</p>
+  </div>
 
   <hr><p>The <dfn id=directionality-of-the-attribute title="directionality of the attribute">directionality of an attribute</dfn> of an
   <a href=#html-elements title="HTML elements">HTML element</a>, which is used when the text of that attribute is
@@ -11264,8 +11261,10 @@
   </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>
+  <h4 id=requirements-relating-to-the-bidirectional-algorithm><span class=secno>3.2.6 </span>Requirements relating to the bidirectional algorithm</h4>
 
+  <h5 id=authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters><span class=secno>3.2.6.1 </span>Authoring conformance criteria for bidirectional-algorithm formatting characters</h5>
+
   <p><a href=#text-content>Text content</a> in <a href=#html-elements>HTML elements</a> with <code><a href=#text>Text</a></code> nodes in their
   <a href=#concept-html-contents title=concept-html-contents>contents</a>, and text in attributes of <a href=#html-elements>HTML
   elements</a> that allow free-form text, may contain characters in the ranges U+202A to U+202E
@@ -11370,7 +11369,36 @@
   characters interact poorly with CSS.</p>
 
 
+  <div class=impl>
 
+  <h5 id=user-agent-conformance-criteria><span class=secno>3.2.6.2 </span>User agent conformance criteria</h5>
+
+  <p>User agents must implement the Unicode bidirectional algorithm to determine the proper ordering
+  of characters when rendering documents and parts of documents. <a href=#refsBIDI>[BIDI]</a></p>
+
+  <p>The mapping of HTML to the Unicode bidirectional algorithm must be done in one of three ways.
+  Either the user agent must implement CSS, including in particular the CSS 'unicode-bidi',
+  'direction', and 'content' properties, and must have, in its user agent style sheet, the rules
+  using those properties given in this specification's <a href=#rendering>rendering</a> section,
+  or, alternatively, the user agent must act as if it implemented just the aforementioned properties
+  and had a user agent style sheet that included all the aforementioned rules, but without letting
+  style sheets specified in documents override them, or, alternatively, the user agent must
+  implement another styling language with equivalent semantics. <a href=#CSSWM>[CSSWM]</a> <a href=#CSSGC>[CSSGC]</a></p>
+
+  <p id=bidireq>The following elements and attributes have requirements defined by the <a href=#rendering>rendering</a> section that, due to the requirements in this section, are
+  requirements on all user agents (not just those that <a href=#renderingUA>support the suggested
+  default rendering</a>):</p>
+
+  <ul class=brief><li><code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute</li>
+   <li><code><a href=#the-bdi-element>bdi</a></code> element</li>
+   <li><code><a href=#the-bdo-element>bdo</a></code> element</li>
+   <li><code><a href=#the-br-element>br</a></code> element</li>
+   <li><code><a href=#the-pre-element>pre</a></code> element</li>
+   <li><code><a href=#the-textarea-element>textarea</a></code> element</li>
+   <li><code><a href=#the-wbr-element>wbr</a></code> element</li>
+  </ul></div>
+
+
   <h4 id=wai-aria><span class=secno>3.2.7 </span><dfn>WAI-ARIA</dfn></h4>
 
   <p>Authors may use the ARIA <code title=attr-aria-role><a href=#attr-aria-role>role</a></code> and <code title=attr-aria-*>aria-*</code> attributes on <a href=#html-elements>HTML elements</a>, in accordance with the
@@ -16255,11 +16283,8 @@
 
   <div class=impl>
 
-  <p>A newline in a <code><a href=#the-pre-element>pre</a></code> element should separate
-  paragraphs for the purposes of the Unicode bidirectional algorithm.
-  This requirement may be implemented indirectly through the style
-  layer. For example, an HTML+CSS user agent could implement these
-  requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsBIDI>[BIDI]</a> <a href=#refsCSS>[CSS]</a></p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -19801,18 +19826,9 @@
 
   <div class=impl>
 
-  <p>For the purposes of applying the bidirectional algorithm to the contents of a <code><a href=#the-bdi-element>bdi</a></code>
-  element, user agents must treat the element as an independent and isolated segment.</p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a <code><a href=#the-bdi-element>bdi</a></code> element finds itself within, the <code><a href=#the-bdi-element>bdi</a></code> element must be treated like
-  a U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an image or other inline object is
-  handled).</p>
-
-  <p>The requirements on handling the <code><a href=#the-bdi-element>bdi</a></code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
-  implement these requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsCSS>[CSS]</a></p>
-
   </div>
 
   <div class=example>
@@ -19861,20 +19877,9 @@
 
   <div class=impl>
 
-<!--CLEANUP-->
-  <p>If the element's <a href=#the-directionality title="the directionality">directionality</a> is '<a href=#concept-ltr title=concept-ltr>ltr</a>', then for the purposes of the bidirectional algorithm,
-  the user agent must act as if there was a U+2066 LEFT-TO-RIGHT ISOLATE character at the start of
-  the element, and a U+2069 POP DIRECTIONAL ISOLATE character at the end of the element.</p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-<!--CLEANUP-->
-  <p>If the element's <a href=#the-directionality title="the directionality">directionality</a> is '<a href=#concept-rtl title=concept-rtl>rtl</a>', then for the purposes of the bidirectional algorithm, the user
-  agent must act as if there was a U+2067 RIGHT-TO-LEFT ISOLATE character at the start of the
-  element, and a U+2069 POP DIRECTIONAL ISOLATE character at the end of the element.</p>
-
-  <p>The requirements on handling the <code><a href=#the-bdo-element>bdo</a></code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
-  implement these requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsCSS>[CSS]</a></p>
-
   </div>
 
 
@@ -19991,10 +19996,8 @@
   <p>Any content inside <code><a href=#the-br-element>br</a></code> elements must not be considered part of the surrounding
   text.</p>
 
-  <p>A <code><a href=#the-br-element>br</a></code> element should separate paragraphs for the purposes of the Unicode
-  bidirectional algorithm. This requirement may be implemented indirectly through the style layer.
-  For example, an HTML+CSS user agent could implement these requirements by implementing the CSS
-  'unicode-bidi' property. <a href=#refsBIDI>[BIDI]</a> <a href=#refsCSS>[CSS]</a></p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -20016,17 +20019,6 @@
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
   </dl><!--TOPIC:HTML--><p>The <code><a href=#the-wbr-element>wbr</a></code> element <a href=#represents>represents</a> a line break opportunity.</p>
 
-  <div class=impl>
-
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a <code><a href=#the-wbr-element>wbr</a></code> element finds itself within, the <code><a href=#the-wbr-element>wbr</a></code> element must be treated like
-  a U+200B ZERO WIDTH SPACE (i.e. it has no effect).</p>
-
-  <p>The requirements on handling the <code><a href=#the-wbr-element>wbr</a></code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer, e.g. by implementing the suggestions in the <a href=#rendering>rendering</a> section.</p>
-
-  </div>
-
   <div class=example>
 
    <p>In the following example, someone is quoted as saying something which, for effect, is written
@@ -20055,6 +20047,9 @@
   <p>Any content inside <code><a href=#the-wbr-element>wbr</a></code> elements must not be considered part of the surrounding
   text.</p>
 
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
+
   </div>
 
 
@@ -44693,10 +44688,8 @@
   <p>The <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw value</a> of a <code><a href=#the-textarea-element>textarea</a></code>
   control must be initially the empty string.</p>
 
-  <p>A newline in a <code><a href=#the-textarea-element>textarea</a></code> element, and in its <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw value</a>, should separate paragraphs for the purposes
-  of the Unicode bidirectional algorithm. This requirement may be implemented indirectly through the
-  style layer. For example, an HTML+CSS user agent could implement these requirements by
-  implementing the CSS 'unicode-bidi' property. <a href=#refsBIDI>[BIDI]</a> <a href=#refsCSS>[CSS]</a></p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -93595,7 +93588,7 @@
   unicode-bidi: isolate; <!-- anything that's similar to display:block, plus <bdi>, <output>, and dir="" -->
 }
 
-bdo { unicode-bidi: isolate-override; }
+bdo, bdo[dir] { unicode-bidi: isolate-override; } <!-- bdo[dir] rule is to override the otherwise higher-specificity attribute selectors in the previous rule -->
 
 textarea[dir=auto i], pre[dir=auto i] { unicode-bidi: plaintext; }</pre>
 

Modified: index
===================================================================
--- index	2013-11-26 23:03:20 UTC (rev 8316)
+++ index	2013-12-02 20:07:06 UTC (rev 8317)
@@ -298,7 +298,7 @@
 
   <header class=head id=head><p><a href=http://www.whatwg.org/ class=logo><img width=101 src=/images/logo alt=WHATWG height=101></a></p>
    <hgroup><h1 class=allcaps>HTML</h1>
-    <h2 class="no-num no-toc">Living Standard — Last Updated 26 November 2013</h2>
+    <h2 class="no-num no-toc">Living Standard — Last Updated 2 December 2013</h2>
    </hgroup><dl><dt><strong>Web developer edition:</strong></dt>
     <dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
     <dt>Multiple-page version:</dt>
@@ -480,7 +480,10 @@
        <li><a href=#classes><span class=secno>3.2.5.7 </span>The <code>class</code> attribute</a></li>
        <li><a href=#the-style-attribute><span class=secno>3.2.5.8 </span>The <code>style</code> attribute</a></li>
        <li><a href=#embedding-custom-non-visible-data-with-the-data-*-attributes><span class=secno>3.2.5.9 </span>Embedding custom non-visible data with the <code title=attr-data-*>data-*</code> attributes</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=#requirements-relating-to-the-bidirectional-algorithm><span class=secno>3.2.6 </span>Requirements relating to the bidirectional algorithm</a>
+      <ol>
+       <li><a href=#authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters><span class=secno>3.2.6.1 </span>Authoring conformance criteria for bidirectional-algorithm formatting characters</a></li>
+       <li><a href=#user-agent-conformance-criteria><span class=secno>3.2.6.2 </span>User agent conformance criteria</a></ol></li>
      <li><a href=#wai-aria><span class=secno>3.2.7 </span>WAI-ARIA</a></ol></ol></li>
  <li><a href=#semantics><span class=secno>4 </span>The elements of HTML</a>
   <ol>
@@ -10889,18 +10892,12 @@
   directionality">directionality</a> from their parent element, or, if they don't have one,
   default to '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
 
-  <p>For the purposes of applying the bidirectional algorithm to the contents of elements with a
-  <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute that is in one of the states defined above, user
-  agents must treat the element as an independent and isolated segment.</p>
+  <div class=impl>
 
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a such an element finds itself within, the element must be treated like a U+FFFC OBJECT
-  REPLACEMENT CHARACTER (in the same manner that an image or other inline object is handled).</p>
+  <p class=note>This attribute <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-  <p>The requirements on handling such elements for the bidirectional algorithm may be implemented
-  indirectly through the style layer. For example, the rendering section in this specification
-  defines a mapping from the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute to the CSS 'direction' and
-  'unicode-bidi' properties, and CSS defines rendering in terms of those properties.</p>
+  </div>
 
   <hr><p>The <dfn id=directionality-of-the-attribute title="directionality of the attribute">directionality of an attribute</dfn> of an
   <a href=#html-elements title="HTML elements">HTML element</a>, which is used when the text of that attribute is
@@ -11264,8 +11261,10 @@
   </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>
+  <h4 id=requirements-relating-to-the-bidirectional-algorithm><span class=secno>3.2.6 </span>Requirements relating to the bidirectional algorithm</h4>
 
+  <h5 id=authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters><span class=secno>3.2.6.1 </span>Authoring conformance criteria for bidirectional-algorithm formatting characters</h5>
+
   <p><a href=#text-content>Text content</a> in <a href=#html-elements>HTML elements</a> with <code><a href=#text>Text</a></code> nodes in their
   <a href=#concept-html-contents title=concept-html-contents>contents</a>, and text in attributes of <a href=#html-elements>HTML
   elements</a> that allow free-form text, may contain characters in the ranges U+202A to U+202E
@@ -11370,7 +11369,36 @@
   characters interact poorly with CSS.</p>
 
 
+  <div class=impl>
 
+  <h5 id=user-agent-conformance-criteria><span class=secno>3.2.6.2 </span>User agent conformance criteria</h5>
+
+  <p>User agents must implement the Unicode bidirectional algorithm to determine the proper ordering
+  of characters when rendering documents and parts of documents. <a href=#refsBIDI>[BIDI]</a></p>
+
+  <p>The mapping of HTML to the Unicode bidirectional algorithm must be done in one of three ways.
+  Either the user agent must implement CSS, including in particular the CSS 'unicode-bidi',
+  'direction', and 'content' properties, and must have, in its user agent style sheet, the rules
+  using those properties given in this specification's <a href=#rendering>rendering</a> section,
+  or, alternatively, the user agent must act as if it implemented just the aforementioned properties
+  and had a user agent style sheet that included all the aforementioned rules, but without letting
+  style sheets specified in documents override them, or, alternatively, the user agent must
+  implement another styling language with equivalent semantics. <a href=#CSSWM>[CSSWM]</a> <a href=#CSSGC>[CSSGC]</a></p>
+
+  <p id=bidireq>The following elements and attributes have requirements defined by the <a href=#rendering>rendering</a> section that, due to the requirements in this section, are
+  requirements on all user agents (not just those that <a href=#renderingUA>support the suggested
+  default rendering</a>):</p>
+
+  <ul class=brief><li><code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute</li>
+   <li><code><a href=#the-bdi-element>bdi</a></code> element</li>
+   <li><code><a href=#the-bdo-element>bdo</a></code> element</li>
+   <li><code><a href=#the-br-element>br</a></code> element</li>
+   <li><code><a href=#the-pre-element>pre</a></code> element</li>
+   <li><code><a href=#the-textarea-element>textarea</a></code> element</li>
+   <li><code><a href=#the-wbr-element>wbr</a></code> element</li>
+  </ul></div>
+
+
   <h4 id=wai-aria><span class=secno>3.2.7 </span><dfn>WAI-ARIA</dfn></h4>
 
   <p>Authors may use the ARIA <code title=attr-aria-role><a href=#attr-aria-role>role</a></code> and <code title=attr-aria-*>aria-*</code> attributes on <a href=#html-elements>HTML elements</a>, in accordance with the
@@ -16255,11 +16283,8 @@
 
   <div class=impl>
 
-  <p>A newline in a <code><a href=#the-pre-element>pre</a></code> element should separate
-  paragraphs for the purposes of the Unicode bidirectional algorithm.
-  This requirement may be implemented indirectly through the style
-  layer. For example, an HTML+CSS user agent could implement these
-  requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsBIDI>[BIDI]</a> <a href=#refsCSS>[CSS]</a></p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -19801,18 +19826,9 @@
 
   <div class=impl>
 
-  <p>For the purposes of applying the bidirectional algorithm to the contents of a <code><a href=#the-bdi-element>bdi</a></code>
-  element, user agents must treat the element as an independent and isolated segment.</p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a <code><a href=#the-bdi-element>bdi</a></code> element finds itself within, the <code><a href=#the-bdi-element>bdi</a></code> element must be treated like
-  a U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an image or other inline object is
-  handled).</p>
-
-  <p>The requirements on handling the <code><a href=#the-bdi-element>bdi</a></code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
-  implement these requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsCSS>[CSS]</a></p>
-
   </div>
 
   <div class=example>
@@ -19861,20 +19877,9 @@
 
   <div class=impl>
 
-<!--CLEANUP-->
-  <p>If the element's <a href=#the-directionality title="the directionality">directionality</a> is '<a href=#concept-ltr title=concept-ltr>ltr</a>', then for the purposes of the bidirectional algorithm,
-  the user agent must act as if there was a U+2066 LEFT-TO-RIGHT ISOLATE character at the start of
-  the element, and a U+2069 POP DIRECTIONAL ISOLATE character at the end of the element.</p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-<!--CLEANUP-->
-  <p>If the element's <a href=#the-directionality title="the directionality">directionality</a> is '<a href=#concept-rtl title=concept-rtl>rtl</a>', then for the purposes of the bidirectional algorithm, the user
-  agent must act as if there was a U+2067 RIGHT-TO-LEFT ISOLATE character at the start of the
-  element, and a U+2069 POP DIRECTIONAL ISOLATE character at the end of the element.</p>
-
-  <p>The requirements on handling the <code><a href=#the-bdo-element>bdo</a></code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
-  implement these requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsCSS>[CSS]</a></p>
-
   </div>
 
 
@@ -19991,10 +19996,8 @@
   <p>Any content inside <code><a href=#the-br-element>br</a></code> elements must not be considered part of the surrounding
   text.</p>
 
-  <p>A <code><a href=#the-br-element>br</a></code> element should separate paragraphs for the purposes of the Unicode
-  bidirectional algorithm. This requirement may be implemented indirectly through the style layer.
-  For example, an HTML+CSS user agent could implement these requirements by implementing the CSS
-  'unicode-bidi' property. <a href=#refsBIDI>[BIDI]</a> <a href=#refsCSS>[CSS]</a></p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -20016,17 +20019,6 @@
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
   </dl><!--TOPIC:HTML--><p>The <code><a href=#the-wbr-element>wbr</a></code> element <a href=#represents>represents</a> a line break opportunity.</p>
 
-  <div class=impl>
-
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a <code><a href=#the-wbr-element>wbr</a></code> element finds itself within, the <code><a href=#the-wbr-element>wbr</a></code> element must be treated like
-  a U+200B ZERO WIDTH SPACE (i.e. it has no effect).</p>
-
-  <p>The requirements on handling the <code><a href=#the-wbr-element>wbr</a></code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer, e.g. by implementing the suggestions in the <a href=#rendering>rendering</a> section.</p>
-
-  </div>
-
   <div class=example>
 
    <p>In the following example, someone is quoted as saying something which, for effect, is written
@@ -20055,6 +20047,9 @@
   <p>Any content inside <code><a href=#the-wbr-element>wbr</a></code> elements must not be considered part of the surrounding
   text.</p>
 
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
+
   </div>
 
 
@@ -44693,10 +44688,8 @@
   <p>The <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw value</a> of a <code><a href=#the-textarea-element>textarea</a></code>
   control must be initially the empty string.</p>
 
-  <p>A newline in a <code><a href=#the-textarea-element>textarea</a></code> element, and in its <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw value</a>, should separate paragraphs for the purposes
-  of the Unicode bidirectional algorithm. This requirement may be implemented indirectly through the
-  style layer. For example, an HTML+CSS user agent could implement these requirements by
-  implementing the CSS 'unicode-bidi' property. <a href=#refsBIDI>[BIDI]</a> <a href=#refsCSS>[CSS]</a></p>
+  <p class=note>This element <a href=#bidireq>has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -93595,7 +93588,7 @@
   unicode-bidi: isolate; <!-- anything that's similar to display:block, plus <bdi>, <output>, and dir="" -->
 }
 
-bdo { unicode-bidi: isolate-override; }
+bdo, bdo[dir] { unicode-bidi: isolate-override; } <!-- bdo[dir] rule is to override the otherwise higher-specificity attribute selectors in the previous rule -->
 
 textarea[dir=auto i], pre[dir=auto i] { unicode-bidi: plaintext; }</pre>
 

Modified: source
===================================================================
--- source	2013-11-26 23:03:20 UTC (rev 8316)
+++ source	2013-12-02 20:07:06 UTC (rev 8317)
@@ -10846,18 +10846,12 @@
   directionality">directionality</span> from their parent element, or, if they don't have one,
   default to '<span data-x="concept-ltr">ltr</span>'.</p>
 
-  <p>For the purposes of applying the bidirectional algorithm to the contents of elements with a
-  <code data-x="attr-dir">dir</code> attribute that is in one of the states defined above, user
-  agents must treat the element as an independent and isolated segment.</p>
+  <div class="impl">
 
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a such an element finds itself within, the element must be treated like a U+FFFC OBJECT
-  REPLACEMENT CHARACTER (in the same manner that an image or other inline object is handled).</p>
+  <p class="note">This attribute <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-  <p>The requirements on handling such elements for the bidirectional algorithm may be implemented
-  indirectly through the style layer. For example, the rendering section in this specification
-  defines a mapping from the <code data-x="attr-dir">dir</code> attribute to the CSS 'direction' and
-  'unicode-bidi' properties, and CSS defines rendering in terms of those properties.</p>
+  </div>
 
   <hr>
 
@@ -11279,8 +11273,10 @@
   </div>
 
 
-  <h4>Requirements relating to bidirectional-algorithm formatting characters</h4>
+  <h4>Requirements relating to the bidirectional algorithm</h4>
 
+  <!--END dev-html--><h5>Authoring conformance criteria for bidirectional-algorithm formatting characters</h5><!--START dev-html-->
+
   <p><span>Text content</span> in <span>HTML elements</span> with <code>Text</code> nodes in their
   <span data-x="concept-html-contents">contents</span>, and text in attributes of <span>HTML
   elements</span> that allow free-form text, may contain characters in the ranges U+202A to U+202E
@@ -11394,7 +11390,41 @@
   characters interact poorly with CSS.</p>
 
 
+  <div class="impl">
 
+  <h5>User agent conformance criteria</h5>
+
+  <p>User agents must implement the Unicode bidirectional algorithm to determine the proper ordering
+  of characters when rendering documents and parts of documents. <a href="#refsBIDI">[BIDI]</a></p>
+
+  <p>The mapping of HTML to the Unicode bidirectional algorithm must be done in one of three ways.
+  Either the user agent must implement CSS, including in particular the CSS 'unicode-bidi',
+  'direction', and 'content' properties, and must have, in its user agent style sheet, the rules
+  using those properties given in this specification's <a href="#rendering">rendering</a> section,
+  or, alternatively, the user agent must act as if it implemented just the aforementioned properties
+  and had a user agent style sheet that included all the aforementioned rules, but without letting
+  style sheets specified in documents override them, or, alternatively, the user agent must
+  implement another styling language with equivalent semantics. <a href="#CSSWM">[CSSWM]</a> <a
+  href="#CSSGC">[CSSGC]</a></p>
+
+  <p id="bidireq">The following elements and attributes have requirements defined by the <a
+  href="#rendering">rendering</a> section that, due to the requirements in this section, are
+  requirements on all user agents (not just those that <a href="#renderingUA">support the suggested
+  default rendering</a>):</p>
+
+  <ul class="brief">
+   <li><code data-x="attr-dir">dir</code> attribute</li>
+   <li><code>bdi</code> element</li>
+   <li><code>bdo</code> element</li>
+   <li><code>br</code> element</li>
+   <li><code>pre</code> element</li>
+   <li><code>textarea</code> element</li>
+   <li><code>wbr</code> element</li>
+  </ul>
+  
+  </div>
+
+
   <h4><dfn>WAI-ARIA</dfn></h4>
 
   <p>Authors may use the ARIA <code data-x="attr-aria-role">role</code> and <code
@@ -16940,12 +16970,8 @@
 
   <div class="impl">
 
-  <p>A newline in a <code>pre</code> element should separate
-  paragraphs for the purposes of the Unicode bidirectional algorithm.
-  This requirement may be implemented indirectly through the style
-  layer. For example, an HTML+CSS user agent could implement these
-  requirements by implementing the CSS 'unicode-bidi' property. <a
-  href="#refsBIDI">[BIDI]</a> <a href="#refsCSS">[CSS]</a></p>
+  <p class="note">This element <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -20651,19 +20677,9 @@
 
   <div class="impl">
 
-  <p>For the purposes of applying the bidirectional algorithm to the contents of a <code>bdi</code>
-  element, user agents must treat the element as an independent and isolated segment.</p>
+  <p class="note">This element <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a <code>bdi</code> element finds itself within, the <code>bdi</code> element must be treated like
-  a U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an image or other inline object is
-  handled).</p>
-
-  <p>The requirements on handling the <code>bdi</code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
-  implement these requirements by implementing the CSS 'unicode-bidi' property. <a
-  href="#refsCSS">[CSS]</a></p>
-
   </div>
 
   <div class="example">
@@ -20713,23 +20729,9 @@
 
   <div class="impl">
 
-<!--CLEANUP-->
-  <p>If the element's <span data-x="the directionality">directionality</span> is '<span
-  data-x="concept-ltr">ltr</span>', then for the purposes of the bidirectional algorithm,
-  the user agent must act as if there was a U+2066 LEFT-TO-RIGHT ISOLATE character at the start of
-  the element, and a U+2069 POP DIRECTIONAL ISOLATE character at the end of the element.</p>
+  <p class="note">This element <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
-<!--CLEANUP-->
-  <p>If the element's <span data-x="the directionality">directionality</span> is '<span
-  data-x="concept-rtl">rtl</span>', then for the purposes of the bidirectional algorithm, the user
-  agent must act as if there was a U+2067 RIGHT-TO-LEFT ISOLATE character at the start of the
-  element, and a U+2069 POP DIRECTIONAL ISOLATE character at the end of the element.</p>
-
-  <p>The requirements on handling the <code>bdo</code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
-  implement these requirements by implementing the CSS 'unicode-bidi' property. <a
-  href="#refsCSS">[CSS]</a></p>
-
   </div>
 
 
@@ -20848,10 +20850,8 @@
   <p>Any content inside <code>br</code> elements must not be considered part of the surrounding
   text.</p>
 
-  <p>A <code>br</code> element should separate paragraphs for the purposes of the Unicode
-  bidirectional algorithm. This requirement may be implemented indirectly through the style layer.
-  For example, an HTML+CSS user agent could implement these requirements by implementing the CSS
-  'unicode-bidi' property. <a href="#refsBIDI">[BIDI]</a> <a href="#refsCSS">[CSS]</a></p>
+  <p class="note">This element <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -20874,18 +20874,6 @@
 
   <p>The <code>wbr</code> element <span>represents</span> a line break opportunity.</p>
 
-  <div class="impl">
-
-  <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
-  a <code>wbr</code> element finds itself within, the <code>wbr</code> element must be treated like
-  a U+200B ZERO WIDTH SPACE (i.e. it has no effect).</p>
-
-  <p>The requirements on handling the <code>wbr</code> element for the bidirectional algorithm may
-  be implemented indirectly through the style layer, e.g. by implementing the suggestions in the <a
-  href="#rendering">rendering</a> section.</p>
-
-  </div>
-
   <div class="example">
 
    <p>In the following example, someone is quoted as saying something which, for effect, is written
@@ -20914,6 +20902,9 @@
   <p>Any content inside <code>wbr</code> elements must not be considered part of the surrounding
   text.</p>
 
+  <p class="note">This element <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
+
   </div>
 
 
@@ -48905,12 +48896,8 @@
   <p>The <span data-x="concept-textarea-raw-value">raw value</span> of a <code>textarea</code>
   control must be initially the empty string.</p>
 
-  <p>A newline in a <code>textarea</code> element, and in its <span
-  data-x="concept-textarea-raw-value">raw value</span>, should separate paragraphs for the purposes
-  of the Unicode bidirectional algorithm. This requirement may be implemented indirectly through the
-  style layer. For example, an HTML+CSS user agent could implement these requirements by
-  implementing the CSS 'unicode-bidi' property. <a href="#refsBIDI">[BIDI]</a> <a
-  href="#refsCSS">[CSS]</a></p>
+  <p class="note">This element <a href="#bidireq">has rendering requirements involving the
+  bidirectional algorithm</a>.</p>
 
   </div>
 
@@ -104315,7 +104302,7 @@
   unicode-bidi: isolate; <!-- anything that's similar to display:block, plus <bdi>, <output>, and dir="" -->
 }
 
-bdo { unicode-bidi: isolate-override; }
+bdo, bdo[dir] { unicode-bidi: isolate-override; } <!-- bdo[dir] rule is to override the otherwise higher-specificity attribute selectors in the previous rule -->
 
 textarea[dir=auto i], pre[dir=auto i] { unicode-bidi: plaintext; }</pre>
 
@@ -113015,6 +113002,9 @@
    <dt id="refsCSSFONTS">[CSSFONTS]</dt>
    <dd><cite><a href="http://dev.w3.org/csswg/css3-fonts/">CSS Fonts</a></cite>, J. Daggett. W3C.</dd>
 
+   <dt id="refsCSSGC">[CSSGC]</dt>
+   <dd><cite><a href="http://dev.w3.org/csswg/css-content">CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.</dd>
+
    <dt id="refsCSSIMAGES">[CSSIMAGES]</dt>
    <dd><cite><a href="http://dev.w3.org/csswg/css-images/">CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.</dd>
 
@@ -113040,6 +113030,9 @@
    <dt id="refsCSSVALUES">[CSSVALUES]</dt>
    <dd><cite><a href="http://dev.w3.org/csswg/css3-values/">CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W3C.</dd>
 
+   <dt id="refsCSSWM">[CSSWM]</dt>
+   <dd><cite><a href="http://dev.w3.org/csswg/css-writing-modes">CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.</dd>
+
    <dt id="refsCUSTOM">[CUSTOM]</dt>
    <dd><cite><a href="http://w3c.github.io/webcomponents/spec/custom/">Custom Elements</a></cite>, D. Glazkov. W3C.</dd>
 




More information about the Commit-Watchers mailing list