[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