csswg/css3-lists Overview.html,1.35,1.36 Overview.src.html,1.76,1.77

Update of /sources/public/csswg/css3-lists
In directory hutz:/tmp/cvs-serv8598

Modified Files:
	Overview.html Overview.src.html 
Log Message:
First draft of display:marker and list-style-type:inline


Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/css3-lists/Overview.html,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- Overview.html	28 Apr 2011 00:11:07 -0000	1.35
+++ Overview.html	28 Apr 2011 01:35:24 -0000	1.36
@@ -173,82 +173,86 @@
       class=property>content</code>&rsquo; property</a>
     </ul>
 
-   <li><a href="#predefined-counters"><span class=secno>7. </span> Predefined
+   <li><a href="#display-marker"><span class=secno>7. </span> Using Content
+    as Markers: the &lsquo;<code class=css>marker</code>&rsquo; value for
+    &lsquo;<code class=property>display</code>&rsquo;</a>
+
+   <li><a href="#predefined-counters"><span class=secno>8. </span> Predefined
     Counter Styles</a>
     <ul class=toc>
-     <li><a href="#decimal-counters"><span class=secno>7.1. </span> The
+     <li><a href="#decimal-counters"><span class=secno>8.1. </span> The
       &lsquo;<code class=css>decimal</code>&rsquo; counter style</a>
 
-     <li><a href="#glyph-counters"><span class=secno>7.2. </span> Glyphs</a>
+     <li><a href="#glyph-counters"><span class=secno>8.2. </span> Glyphs</a>
 
-     <li><a href="#complex-counters"><span class=secno>7.3. </span> Complex
+     <li><a href="#complex-counters"><span class=secno>8.3. </span> Complex
       counter styles</a>
       <ul class=toc>
-       <li><a href="#ethiopic-numeric"><span class=secno>7.3.1. </span> The
+       <li><a href="#ethiopic-numeric"><span class=secno>8.3.1. </span> The
         &lsquo;<code class=property>ethiopic-numeric</code>&rsquo; counter
         style</a>
 
-       <li><a href="#cjk-counter-styles"><span class=secno>7.3.2. </span> The
+       <li><a href="#cjk-counter-styles"><span class=secno>8.3.2. </span> The
         CJK longhand counter styles</a>
       </ul>
     </ul>
 
-   <li><a href="#counter-style"><span class=secno>8. </span> Defining Custom
+   <li><a href="#counter-style"><span class=secno>9. </span> Defining Custom
     Counter Styles: the &lsquo;<code class=css>@counter-style</code>&rsquo;
     rule</a>
     <ul class=toc>
-     <li><a href="#counter-style-type"><span class=secno>8.1. </span> Counter
+     <li><a href="#counter-style-type"><span class=secno>9.1. </span> Counter
       algorithms: the &lsquo;<code class=property>type</code>&rsquo;
       descriptor</a>
       <ul class=toc>
-       <li><a href="#repeating"><span class=secno>8.1.1. </span>
+       <li><a href="#repeating"><span class=secno>9.1.1. </span>
         repeating</a>
 
-       <li><a href="#numeric"><span class=secno>8.1.2. </span> numeric</a>
+       <li><a href="#numeric"><span class=secno>9.1.2. </span> numeric</a>
 
-       <li><a href="#alphabetic"><span class=secno>8.1.3. </span>
+       <li><a href="#alphabetic"><span class=secno>9.1.3. </span>
         alphabetic</a>
 
-       <li><a href="#symbolic"><span class=secno>8.1.4. </span> symbolic</a>
+       <li><a href="#symbolic"><span class=secno>9.1.4. </span> symbolic</a>
 
-       <li><a href="#non-repeating"><span class=secno>8.1.5. </span>
+       <li><a href="#non-repeating"><span class=secno>9.1.5. </span>
         non-repeating</a>
 
-       <li><a href="#additive"><span class=secno>8.1.6. </span> additive</a>
+       <li><a href="#additive"><span class=secno>9.1.6. </span> additive</a>
 
-       <li><a href="#override"><span class=secno>8.1.7. </span> override</a>
+       <li><a href="#override"><span class=secno>9.1.7. </span> override</a>
       </ul>
 
-     <li><a href="#counter-style-negative"><span class=secno>8.2. </span>
+     <li><a href="#counter-style-negative"><span class=secno>9.2. </span>
       Formatting negative values: the &lsquo;<code
       class=property>negative</code>&rsquo; descriptor</a>
 
-     <li><a href="#counter-style-prefix"><span class=secno>8.3. </span>
+     <li><a href="#counter-style-prefix"><span class=secno>9.3. </span>
       Symbols before the marker: the &lsquo;<code
       class=property>prefix</code>&rsquo; descriptor</a>
 
-     <li><a href="#counter-style-suffix"><span class=secno>8.4. </span>
+     <li><a href="#counter-style-suffix"><span class=secno>9.4. </span>
       Symbols after the marker: the &lsquo;<code
       class=property>suffix</code>&rsquo; descriptor</a>
 
-     <li><a href="#counter-style-range"><span class=secno>8.5. </span>
+     <li><a href="#counter-style-range"><span class=secno>9.5. </span>
       Limiting the counter scope: the &lsquo;<code
       class=property>range</code>&rsquo; descriptor</a>
 
-     <li><a href="#counter-style-fallback"><span class=secno>8.6. </span>
+     <li><a href="#counter-style-fallback"><span class=secno>9.6. </span>
       Defining fallback: the &lsquo;<code
       class=property>fallback</code>&rsquo; descriptor</a>
 
-     <li><a href="#counter-style-glyphs"><span class=secno>8.7. </span>
+     <li><a href="#counter-style-glyphs"><span class=secno>9.7. </span>
       Marker characters: the &lsquo;<code class=property>glyphs</code>&rsquo;
       and &lsquo;<code class=property>additive-glyphs</code>&rsquo;
       descriptors</a>
     </ul>
 
-   <li><a href="#html4"><span class=secno>9. </span> Sample style sheet for
+   <li><a href="#html4"><span class=secno>10. </span> Sample style sheet for
     HTML</a>
 
-   <li><a href="#ua-stylesheet"><span class=secno>10. </span> Appendix A:
+   <li><a href="#ua-stylesheet"><span class=secno>11. </span> Appendix A:
     Additional Predefined Counter Styles</a>
 
    <li class=no-num><a href="#profiles"> Profiles</a>
@@ -334,8 +338,8 @@
   <h2 id=declaring-a-list-item><span class=secno>2. </span> Declaring a List
    Item</h2>
 
-  <p>To declare a list item, the &lsquo;<code
-   class=property>display</code>&rsquo; property should be set to
+  <p>To declare a list item, the &lsquo;<a href="#display"><code
+   class=property>display</code></a>&rsquo; property should be set to
    &lsquo;<code class=css>list-item</code>&rsquo;. This, in addition to
    generating a &lsquo;<code class=css>::marker</code>&rsquo; pseudo-element
    and enabling the properties described below for that element, causes that
@@ -350,9 +354,9 @@
    the &lsquo;<code class=css>counter()</code>&rsquo; and &lsquo;<code
    class=css>counters()</code>&rsquo; functions.
 
-  <p class=issue>The CSS3 box module may define other &lsquo;<code
-   class=property>display</code>&rsquo; values which generate a list marker.
-   These should also affect the &lsquo;<code
+  <p class=issue>The CSS3 box module may define other &lsquo;<a
+   href="#display"><code class=property>display</code></a>&rsquo; values
+   which generate a list marker. These should also affect the &lsquo;<code
    class=css>list-item</code>&rsquo; counter.
 
   <p>Note that this new model makes the &lsquo;<code
@@ -377,7 +381,7 @@
      <th>Value:
 
      <td><a href="#ltstring"><b>&lt;string></b></a> | <a
-      href="#ltcounter-style"><b>&lt;counter-style></b></a> | none
+      href="#ltcounter-style"><b>&lt;counter-style></b></a> | inline | none
 
     <tr>
      <th>Initial:
@@ -423,14 +427,6 @@
    <dd>The &lsquo;<code class=css>::marker</code>&rsquo; pseudoelement must
     use the provided string as its default contents.
 
-   <dt><dfn id=none>none</dfn>
-
-   <dd>The &lsquo;<code class=css>::marker</code>&rsquo; pseudoelement must
-    have no default contents. This will suppress the creation of a marker
-    unless the &lsquo;<code class=css>::marker</code>&rsquo; has its contents
-    specified directly through the &lsquo;<code
-    class=property>content</code>&rsquo; property.
-
    <dt><dfn id=ltcounter-style>&lt;counter-style></dfn>
 
    <dd>
@@ -443,6 +439,20 @@
     <p>The <b>UA style sheet</b> given later in this spec provides a large
      list of counter style definitions, and authors or users may define their
      own counter styles as well.</p>
+
+   <dt><dfn id=inline>inline</dfn>
+
+   <dd>The &lsquo;<code class=css>::marker</code>&rsquo; pseudoelement's
+    default contents must be the contents of the list item's first child
+    element with &lsquo;<code class=css>display: marker</code>&rsquo;.
+
+   <dt><dfn id=none>none</dfn>
+
+   <dd>The &lsquo;<code class=css>::marker</code>&rsquo; pseudoelement must
+    have no default contents. This will suppress the creation of a marker
+    unless the &lsquo;<code class=css>::marker</code>&rsquo; has its contents
+    specified directly through the &lsquo;<code
+    class=property>content</code>&rsquo; property.
   </dl>
 
   <table class=propdef>
@@ -794,9 +804,9 @@
   <h2 id=marker-pseudoelement><span class=secno>6. </span> Markers: The
    &lsquo;<code class=css>::marker</code>&rsquo; pseudo-element</h2>
 
-  <p>Markers are created by setting an element's &lsquo;<code
-   class=property>display</code>&rsquo; property to &lsquo;<code
-   class=css>list-item</code>&rsquo;. The &lsquo;<code
+  <p>Markers are created by setting an element's &lsquo;<a
+   href="#display"><code class=property>display</code></a>&rsquo; property to
+   &lsquo;<code class=css>list-item</code>&rsquo;. The &lsquo;<code
    class=css>list-item</code>&rsquo; display type is, in every other respect,
    identical to the &lsquo;<code class=css>block</code>&rsquo; display type.
    The marker box is only created if the computed value of the &lsquo;<code
@@ -954,14 +964,14 @@
 
   <p>If a &lsquo;<code class=css>::marker</code>&rsquo; pseudo-element has
    its &lsquo;<code class=property>content</code>&rsquo; property set to
-   &lsquo;<code class=css>normal</code>&rsquo;, the following algorithm
-   should be used to generate the computed value of the property.
+   &lsquo;<code class=css>normal</code>&rsquo;, the computed value of the
+   marker's &lsquo;<code class=property>content</code>&rsquo; property must
+   be constructed according to the following algorithm:
 
   <ol>
    <li>If the computed value of &lsquo;<a href="#list-style-image"><code
-    class=property>list-style-image</code></a>&rsquo; is not &lsquo;<a
-    href="#none"><code class=css>none</code></a>&rsquo;, and if the image is
-    valid, then the computed value of the &lsquo;<code
+    class=property>list-style-image</code></a>&rsquo; is a valid image, then
+    the computed value of the &lsquo;<code
     class=property>content</code>&rsquo; property is the value of the
     &lsquo;<a href="#list-style-image"><code
     class=property>list-style-image</code></a>&rsquo; property.
@@ -974,16 +984,26 @@
 
    <li>Otherwise, if the computed value of &lsquo;<a
     href="#list-style-type"><code
-    class=property>list-style-type</code></a>&rsquo; is not &lsquo;<a
-    href="#none"><code class=css>none</code></a>&rsquo;, then the computed
+    class=property>list-style-type</code></a>&rsquo; is the keyword &lsquo;<a
+    href="#inline"><code class=css>inline</code></a>&rsquo;, and the list
+    item has a child element which is an <i
+    title=inline-marker-candidate>inline marker candidate</i>, the computed
     value of the &lsquo;<code class=property>content</code>&rsquo; property
-    is &lsquo;<code class=css>counter(list-item, <a
-    href="#ltcounter-style"><b>&lt;counter-style></b></a>)</code>&rsquo;,
-    where <a href="#ltcounter-style"><b>&lt;counter-style></b></a> is the
+    is the textual contents of the list item's first <i
+    title=inline-marker-candidate>inline marker candidate child</i>.
+
+   <li>Otherwise, if the computed value of &lsquo;<a
+    href="#list-style-type"><code
+    class=property>list-style-type</code></a>&rsquo; is the name of a counter
+    style, then the computed value of the &lsquo;<code
+    class=property>content</code>&rsquo; property is &lsquo;<code
+    class=css>counter(list-item, <a
+    href="#ltcounter-style"><i>&lt;counter-style></i></a>)</code>&rsquo;,
+    where <a href="#ltcounter-style"><i>&lt;counter-style></i></a> is the
     computed value of the &lsquo;<a href="#list-style-type"><code
     class=property>list-style-type</code></a>&rsquo; property, followed by a
     string that is the suffix for the counter style in question (which may be
-    empty).
+    empty). <span class=issue>Fix this.</span>
 
    <li>Otherwise the computed value is &lsquo;<a href="#none"><code
     class=css>none</code></a>&rsquo;.
@@ -1010,9 +1030,57 @@
 
    <pre>counter(list-item, decimal) "."</pre>
   </div>
-  <!-- ====================================================================== -->
+  <!-- ===================================================================== -->
 
-  <h2 id=predefined-counters><span class=secno>7. </span> Predefined Counter
+  <h2 id=display-marker><span class=secno>7. </span> Using Content as
+   Markers: the &lsquo;<code class=css>marker</code>&rsquo; value for
+   &lsquo;<a href="#display"><code class=property>display</code></a>&rsquo;</h2>
+
+  <p>In some situations, such as legal proceedings or official minutes, the
+   precise form that the list marker takes is a vital part of the content.
+   It's not acceptable for the marker to change just because the UA is not
+   rendering CSS, or some server error is temporarily preventing the CSS file
+   from being loaded, as the precise marker name is used to officially refer
+   to that segment. The only way to guarantee that the marker will be
+   rendered correctly, regardless of whether CSS is applied, is to specify
+   the marker outside of CSS, directly in the document's markup. However, the
+   page author may still want to style the marker in many of the ways that
+   are available to them when using ordinary CSS-generated markers. To
+   accomodate this, a new value for the &lsquo;<a href="#display"><code
+   class=property>display</code></a>&rsquo; property is defined.
+
+  <table class=propdef>
+   <tbody>
+    <tr>
+     <th>Name:
+
+     <td><dfn id=display>display</dfn>
+
+    <tr>
+     <th>New Value:
+
+     <td>marker
+
+    <tr>
+     <th>Applies to:
+
+     <td>Children elements of display:list-item elements
+  </table>
+
+  <p>The &lsquo;<code class=css>marker</code>&rsquo; value for &lsquo;<a
+   href="#display"><code class=property>display</code></a>&rsquo; indicates
+   that an element is a <i title=inline-marker-candidate>candidate for having
+   its contents used as a list marker</i>. If the element is a child of a
+   list item with &lsquo;<code
+   class=css>list-style-type:inline</code>&rsquo;, and none of the element's
+   previous siblings are candidates, the textual content of the element (such
+   as what would be returned by the .textContent property on the element in
+   HTML) must be used as the default contents of the ::marker pseudoelement
+   on the element's parent. Otherwise, this value must be treated identically
+   to &lsquo;<code class=css>inline-block</code>&rsquo;.</p>
+  <!-- ===================================================================== -->
+
+  <h2 id=predefined-counters><span class=secno>8. </span> Predefined Counter
    Styles</h2>
 
   <p>While authors may define their own counter styles using the &lsquo;<code
@@ -1024,7 +1092,7 @@
    require special handling beyond what can be expressed in a stylesheet,
    though. Those counter styles are described in this section.
 
-  <h3 id=decimal-counters><span class=secno>7.1. </span> The &lsquo;<code
+  <h3 id=decimal-counters><span class=secno>8.1. </span> The &lsquo;<code
    class=css>decimal</code>&rsquo; counter style</h3>
 
   <p>The &lsquo;<code class=css>decimal</code>&rsquo; counter style is the
@@ -1038,7 +1106,7 @@
    class=css>decimal</code>&rsquo; counter style given in Appendix A to be
    overridden.
 
-  <h3 id=glyph-counters><span class=secno>7.2. </span> Glyphs</h3>
+  <h3 id=glyph-counters><span class=secno>8.2. </span> Glyphs</h3>
 
   <p>CSS 2.1 defined three single-glyph counter styles (&lsquo;<code
    class=css>circle</code>&rsquo;, &lsquo;<code class=css>disc</code>&rsquo;,
@@ -1071,7 +1139,7 @@
    <dd>A filled square, similar to ■ U+25A0 BLACK SQUARE.
   </dl>
 
-  <h3 id=complex-counters><span class=secno>7.3. </span> Complex counter
+  <h3 id=complex-counters><span class=secno>8.3. </span> Complex counter
    styles</h3>
 
   <p>Some real-life counter styles are unfortunately too complex to be
@@ -1083,7 +1151,7 @@
    the counter style name and the given algorithm to format counter values.
    They must be overrideable like any other predefined counter style.
 
-  <h4 id=ethiopic-numeric><span class=secno>7.3.1. </span> The &lsquo;<code
+  <h4 id=ethiopic-numeric><span class=secno>8.3.1. </span> The &lsquo;<code
    class=property>ethiopic-numeric</code>&rsquo; counter style</h4>
 
   <p>The Ethiopian numbering system is defined for all positive non-zero
@@ -1272,7 +1340,7 @@
     U+137B <!-- odd --> U+137A U+136A. <!-- 90 2 --></p>
   </div>
 
-  <h4 id=cjk-counter-styles><span class=secno>7.3.2. </span> The CJK longhand
+  <h4 id=cjk-counter-styles><span class=secno>8.3.2. </span> The CJK longhand
    counter styles</h4>
 
   <p>Chinese, Japanese, and Korean have longhand counter styles, which have a
@@ -2273,7 +2341,7 @@
    10<sup>16</sup>.</p>
   <!-- ====================================================================== -->
 
-  <h2 id=counter-style><span class=secno>8. </span> Defining Custom Counter
+  <h2 id=counter-style><span class=secno>9. </span> Defining Custom Counter
    Styles: the &lsquo;<code class=css>@counter-style</code>&rsquo; rule</h2>
 
   <p>CSS 2.1 defined a handful of useful counter styles based on the styles
@@ -2353,7 +2421,7 @@
    href="#hanging"><code class=css>hanging</code></a>&rsquo;; otherwise the
    @counter-style is invalid and must be ignored.</i></i>
 
-  <h3 id=counter-style-type><span class=secno>8.1. </span> Counter
+  <h3 id=counter-style-type><span class=secno>9.1. </span> Counter
    algorithms: the &lsquo;<a href="#type"><code
    class=property>type</code></a>&rsquo; descriptor</h3>
 
@@ -2385,7 +2453,7 @@
    as digits and build their representation accordingly. The types are
    defined as follows:
 
-  <h4 id=repeating><span class=secno>8.1.1. </span> repeating</h4>
+  <h4 id=repeating><span class=secno>9.1.1. </span> repeating</h4>
 
   <p>If the type is &lsquo;<code class=css>repeating</code>&rsquo;, the
    &lsquo;<a href="#glyphs"><code class=property>glyphs</code></a>&rsquo;
@@ -2429,7 +2497,7 @@
 		</pre>
   </div>
 
-  <h4 id=numeric><span class=secno>8.1.2. </span> numeric</h4>
+  <h4 id=numeric><span class=secno>9.1.2. </span> numeric</h4>
 
   <p>If the type is &lsquo;<code class=css>numeric</code>&rsquo;, the
    &lsquo;<a href="#glyphs"><code class=property>glyphs</code></a>&rsquo;
@@ -2500,7 +2568,7 @@
 		</pre>
   </div>
 
-  <h4 id=alphabetic><span class=secno>8.1.3. </span> alphabetic</h4>
+  <h4 id=alphabetic><span class=secno>9.1.3. </span> alphabetic</h4>
 
   <p>If the type is &lsquo;<code class=css>alphabetic</code>&rsquo;, the
    &lsquo;<a href="#glyphs"><code class=property>glyphs</code></a>&rsquo;
@@ -2602,7 +2670,7 @@
     wild first.</p>
   </div>
 
-  <h4 id=symbolic><span class=secno>8.1.4. </span> symbolic</h4>
+  <h4 id=symbolic><span class=secno>9.1.4. </span> symbolic</h4>
 
   <p>If the type is &lsquo;<code class=css>symbolic</code>&rsquo;, the
    &lsquo;<a href="#glyphs"><code class=property>glyphs</code></a>&rsquo;
@@ -2655,7 +2723,7 @@
    characters long, but they may choose to instead use the fallback style for
    representations that would be longer than 20 characters.
 
-  <h4 id=non-repeating><span class=secno>8.1.5. </span> non-repeating</h4>
+  <h4 id=non-repeating><span class=secno>9.1.5. </span> non-repeating</h4>
 
   <p>If the type is &lsquo;<code class=css>non-repeating</code>&rsquo;, the
    &lsquo;<a href="#glyphs"><code class=property>glyphs</code></a>&rsquo;
@@ -2706,7 +2774,7 @@
 		</pre>
   </div>
 
-  <h4 id=additive><span class=secno>8.1.6. </span> additive</h4>
+  <h4 id=additive><span class=secno>9.1.6. </span> additive</h4>
 
   <p>If the type is &lsquo;<code class=css>additive</code>&rsquo;, the
    &lsquo;<a href="#additive-glyphs"><code
@@ -2783,7 +2851,7 @@
    characters long, but they may choose to instead use the fallback style for
    representations that would be longer than 20 characters.
 
-  <h4 id=override><span class=secno>8.1.7. </span> override</h4>
+  <h4 id=override><span class=secno>9.1.7. </span> override</h4>
 
   <p>The &lsquo;<code class=css>override</code>&rsquo; type allows an author
    to use the representation-construction algorithm of another counter style,
@@ -2802,7 +2870,7 @@
    it was overriding the &lsquo;<code class=css>decimal</code>&rsquo; counter
    style.
 
-  <h3 id=counter-style-negative><span class=secno>8.2. </span> Formatting
+  <h3 id=counter-style-negative><span class=secno>9.2. </span> Formatting
    negative values: the &lsquo;<a href="#negative"><code
    class=property>negative</code></a>&rsquo; descriptor</h3>
 
@@ -2840,7 +2908,7 @@
     like "(2) (1) 0 1 2 3...".</p>
   </div>
 
-  <h3 id=counter-style-prefix><span class=secno>8.3. </span> Symbols before
+  <h3 id=counter-style-prefix><span class=secno>9.3. </span> Symbols before
    the marker: the &lsquo;<a href="#prefix0"><code
    class=property>prefix</code></a>&rsquo; descriptor</h3>
 
@@ -2870,7 +2938,7 @@
    or counters() functions are used. Prefixes are added to the representation
    after negative signs.
 
-  <h3 id=counter-style-suffix><span class=secno>8.4. </span> Symbols after
+  <h3 id=counter-style-suffix><span class=secno>9.4. </span> Symbols after
    the marker: the &lsquo;<a href="#suffix0"><code
    class=property>suffix</code></a>&rsquo; descriptor</h3>
 
@@ -2900,7 +2968,7 @@
    or counters() functions are used. Suffixes are added to the representation
    after negative signs.
 
-  <h3 id=counter-style-range><span class=secno>8.5. </span> Limiting the
+  <h3 id=counter-style-range><span class=secno>9.5. </span> Limiting the
    counter scope: the &lsquo;<a href="#range"><code
    class=property>range</code></a>&rsquo; descriptor</h3>
 
@@ -2948,7 +3016,7 @@
    limits. Should we require UAs to support all values in a signed 2-byte
    int, or a signed 4-byte int?
 
-  <h3 id=counter-style-fallback><span class=secno>8.6. </span> Defining
+  <h3 id=counter-style-fallback><span class=secno>9.6. </span> Defining
    fallback: the &lsquo;<a href="#fallback"><code
    class=property>fallback</code></a>&rsquo; descriptor</h3>
 
@@ -3001,7 +3069,7 @@
    easier for implementations to just detect and reject circular fallback
    graphs, that would probably be acceptable.</span>
 
-  <h3 id=counter-style-glyphs><span class=secno>8.7. </span> Marker
+  <h3 id=counter-style-glyphs><span class=secno>9.7. </span> Marker
    characters: the &lsquo;<a href="#glyphs"><code
    class=property>glyphs</code></a>&rsquo; and &lsquo;<a
    href="#additive-glyphs"><code
@@ -3089,7 +3157,7 @@
    object size</a> of an image counter glyph is a 1em by 1em square.</p>
   <!-- ====================================================================== -->
 
-  <h2 id=html4><span class=secno>9. </span> Sample style sheet for HTML</h2>
+  <h2 id=html4><span class=secno>10. </span> Sample style sheet for HTML</h2>
 
   <p>This section is informative, nor normative. HTML itself defines the
    actual default properties that apply to HTML lists.
@@ -3163,7 +3231,7 @@
 	</pre>
   <!-- ====================================================================== -->
 
-  <h2 id=ua-stylesheet><span class=secno>10. </span> Appendix A: Additional
+  <h2 id=ua-stylesheet><span class=secno>11. </span> Appendix A: Additional
    Predefined Counter Styles</h2>
 
   <p>While this specification defines a mechanism to allow authors to define
@@ -4165,6 +4233,13 @@
      <td>N/A
 
     <tr valign=baseline>
+     <td><a class=property href="#display">display</a>
+
+     <td>marker
+
+     <td>Children elements of display:list-item elements
+
+    <tr valign=baseline>
      <td><a class=property href="#fallback">fallback</a>
 
      <td>&lt;counter-style-name>
@@ -4227,7 +4302,7 @@
     <tr valign=baseline>
      <td><a class=property href="#list-style-type">list-style-type</a>
 
-     <td>&lt;string> | &lt;counter-style> | none
+     <td>&lt;string> | &lt;counter-style> | inline | none
 
      <td>disc
 
@@ -4282,73 +4357,77 @@
 
   <ul class=indexlist>
    <li>additive-glyphs, <a href="#additive-glyphs"
-    title=additive-glyphs><strong>8.7.</strong></a>
+    title=additive-glyphs><strong>9.7.</strong></a>
 
    <li>additive tuple, <a href="#additive-tuple" title="additive
-    tuple"><strong>8.7.</strong></a>
+    tuple"><strong>9.7.</strong></a>
 
    <li>counter-algorithm, <a href="#algorithm"
-    title=counter-algorithm><strong>8.</strong></a>
+    title=counter-algorithm><strong>9.</strong></a>
 
    <li>counter-fallback, <a href="#fallback-style"
-    title=counter-fallback><strong>8.</strong></a>
+    title=counter-fallback><strong>9.</strong></a>
 
    <li>counter glyph, <a href="#counter-glyph" title="counter
-    glyph"><strong>8.7.</strong></a>
+    glyph"><strong>9.7.</strong></a>
 
    <li>counter-lower-bound, <a href="#lower-range-bound"
-    title=counter-lower-bound><strong>8.</strong></a>
+    title=counter-lower-bound><strong>9.</strong></a>
 
    <li>counter-name, <a href="#name"
-    title=counter-name><strong>8.</strong></a>
+    title=counter-name><strong>9.</strong></a>
 
    <li>counter-negative, <a href="#negative-sign"
-    title=counter-negative><strong>8.</strong></a>
+    title=counter-negative><strong>9.</strong></a>
 
    <li>counter-prefix, <a href="#prefix"
-    title=counter-prefix><strong>8.</strong></a>
+    title=counter-prefix><strong>9.</strong></a>
 
    <li>&lt;counter-style>, <a href="#ltcounter-style"
     title="&lt;counter-style>"><strong>3.</strong></a>
 
    <li>counter style, <a href="#counter-style0" title="counter
-    style"><strong>8.</strong></a>
+    style"><strong>9.</strong></a>
 
    <li>counter-suffix, <a href="#suffix"
-    title=counter-suffix><strong>8.</strong></a>
+    title=counter-suffix><strong>9.</strong></a>
 
    <li>counter-upper-bound, <a href="#upper"
-    title=counter-upper-bound><strong>8.</strong></a>
+    title=counter-upper-bound><strong>9.</strong></a>
 
    <li>current tuple, <a href="#current-tuple" title="current
-    tuple"><strong>8.1.6.</strong></a>
+    tuple"><strong>9.1.6.</strong></a>
 
-   <li>fallback, <a href="#fallback" title=fallback><strong>8.6.</strong></a>
+   <li>display, <a href="#display" title=display><strong>7.</strong></a>
+
+   <li>fallback, <a href="#fallback" title=fallback><strong>9.6.</strong></a>
     
 
    <li>first glyph value, <a href="#first-glyph-value" title="first glyph
-    value"><strong>8.1.5.</strong></a>
+    value"><strong>9.1.5.</strong></a>
 
-   <li>glyphs, <a href="#glyphs" title=glyphs><strong>8.7.</strong></a>
+   <li>glyphs, <a href="#glyphs" title=glyphs><strong>9.7.</strong></a>
 
    <li>hanging, <a href="#hanging" title=hanging><strong>4.</strong></a>
 
+   <li>inline, <a href="#inline" title=inline><strong>3.</strong></a>
+
    <li>inside, <a href="#inside" title=inside><strong>4.</strong></a>
 
    <li>japanese-formal, <a href="#japanese-formal"
-    title=japanese-formal><strong>7.3.2.</strong></a>
+    title=japanese-formal><strong>8.3.2.</strong></a>
 
    <li>japanese-informal, <a href="#japanese-informal"
-    title=japanese-informal><strong>7.3.2.</strong></a>
+    title=japanese-informal><strong>8.3.2.</strong></a>
 
    <li>korean-hangul-formal, <a href="#korean-hangul-formal"
-    title=korean-hangul-formal><strong>7.3.2.</strong></a>
+    title=korean-hangul-formal><strong>8.3.2.</strong></a>
 
    <li>korean-hanja-formal, <a href="#korean-hanja-formal"
-    title=korean-hanja-formal><strong>7.3.2.</strong></a>
+    title=korean-hanja-formal><strong>8.3.2.</strong></a>
 
    <li>korean-hanja-informal, <a href="#korean-hanja-informal"
-    title=korean-hanja-informal><strong>7.3.2.</strong></a>
+    title=korean-hanja-informal><strong>8.3.2.</strong></a>
 
    <li>list-style, <a href="#list-style"
     title=list-style><strong>5.</strong></a>
@@ -4362,34 +4441,34 @@
    <li>list-style-type, <a href="#list-style-type"
     title=list-style-type><strong>3.</strong></a>
 
-   <li>negative, <a href="#negative" title=negative><strong>8.2.</strong></a>
+   <li>negative, <a href="#negative" title=negative><strong>9.2.</strong></a>
     
 
    <li>none, <a href="#none" title=none><strong>3.</strong></a>
 
    <li>outside, <a href="#outside" title=outside><strong>4.</strong></a>
 
-   <li>prefix, <a href="#prefix0" title=prefix><strong>8.3.</strong></a>
+   <li>prefix, <a href="#prefix0" title=prefix><strong>9.3.</strong></a>
 
-   <li>range, <a href="#range" title=range><strong>8.5.</strong></a>
+   <li>range, <a href="#range" title=range><strong>9.5.</strong></a>
 
    <li>simp-chinese-formal, <a href="#simp-chinese-formal"
-    title=simp-chinese-formal><strong>7.3.2.</strong></a>
+    title=simp-chinese-formal><strong>8.3.2.</strong></a>
 
    <li>simp-chinese-informal, <a href="#simp-chinese-informal"
-    title=simp-chinese-informal><strong>7.3.2.</strong></a>
+    title=simp-chinese-informal><strong>8.3.2.</strong></a>
 
    <li>&lt;string>, <a href="#ltstring"
     title="&lt;string>"><strong>3.</strong></a>
 
-   <li>suffix, <a href="#suffix0" title=suffix><strong>8.4.</strong></a>
+   <li>suffix, <a href="#suffix0" title=suffix><strong>9.4.</strong></a>
 
    <li>trad-chinese-formal, <a href="#trad-chinese-formal"
-    title=trad-chinese-formal><strong>7.3.2.</strong></a>
+    title=trad-chinese-formal><strong>8.3.2.</strong></a>
 
    <li>trad-chinese-informal, <a href="#trad-chinese-informal"
-    title=trad-chinese-informal><strong>7.3.2.</strong></a>
+    title=trad-chinese-informal><strong>8.3.2.</strong></a>
 
-   <li>type, <a href="#type" title=type><strong>8.1.</strong></a>
+   <li>type, <a href="#type" title=type><strong>9.1.</strong></a>
   </ul>
   <!--end-index-->

Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css3-lists/Overview.src.html,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- Overview.src.html	28 Apr 2011 00:11:07 -0000	1.76
+++ Overview.src.html	28 Apr 2011 01:35:24 -0000	1.77
@@ -169,7 +169,7 @@
 			<td><dfn>list-style-type</dfn>
 		<tr>
 			<th>Value:
-			<td><b>&lt;string></b> | <b>&lt;counter-style></b> | none
+			<td><b>&lt;string></b> | <b>&lt;counter-style></b> | inline | none
 		<tr>
 			<th>Initial:
 			<td>disc
@@ -199,11 +199,6 @@
 		<dd>The ''::marker'' pseudoelement must use the provided string as its default
 		contents.</dd>
 
-		<dt><dfn>none</dfn></dt>
-		<dd>The ''::marker'' pseudoelement must have no default contents.  This will 
-		suppress the creation of a marker unless the ''::marker'' has its contents 
-		specified directly through the 'content' property.</dd>
-
 		<dt><dfn>&lt;counter-style></dfn></dt>
 		<dd>
 			<p>The ''::marker'' pseudoelement's default contents must be the value of 
@@ -214,6 +209,15 @@
 			of counter style definitions, and authors or users may define their own
 			counter styles as well.</p>
 		</dd>
+
+		<dt><dfn>inline</dfn></dt>
+		<dd>The ''::marker'' pseudoelement's default contents must be the contents
+		of the list item's first child element with ''display: marker''.</dd>
+
+		<dt><dfn>none</dfn></dt>
+		<dd>The ''::marker'' pseudoelement must have no default contents.  This will 
+		suppress the creation of a marker unless the ''::marker'' has its contents 
+		specified directly through the 'content' property.</dd>
 	</dl>
 
 	<table class="propdef">
@@ -629,22 +633,31 @@
 <h3 id='content-property'>
 Generating the computed value of the 'content' property</h3>
 
-	<p>If a ''::marker'' pseudo-element has its 'content' property set to ''normal'', the 
-	following algorithm should be used to generate the computed value of the property.</p>
+	<p>If a ''::marker'' pseudo-element has its 'content' property set to ''normal'',
+	the computed value of the marker's 'content' property must be constructed
+	according to the following algorithm:</p>
 
 	<ol>
-		<li>If the computed value of 'list-style-image' is not ''none'', and if the 
-		image is valid, then the computed value of the 'content' property is the value 
-		of the 'list-style-image' property.</li>
+		<li>If the computed value of 'list-style-image' is a valid image, then 
+		the computed value of the 'content' property is the value of the 
+		'list-style-image' property.</li>
 
 		<li>Otherwise, if the computed value of 'list-style-type' is a string, then 
 		the computed value of the 'content' property is that string.</li>
 
-		<li>Otherwise, if the computed value of 'list-style-type' is not ''none'', then
-		the computed value of the 'content' property is ''counter(list-item, <b>&lt;counter-style></b>)'', 
-		where <b>&lt;counter-style></b> is the computed value of the 'list-style-type' 
-		property, followed by a string that is the suffix for the counter style in question 
-		(which may be empty).</li>
+		<li>Otherwise, if the computed value of 'list-style-type' is the keyword
+		''inline'', and the list item has a child element which is an 
+		<i title='inline-marker-candidate'>inline marker candidate</i>, the 
+		computed value of the 'content' property is the textual contents of the 
+		list item's first <i title='inline-marker-candidate'>inline marker candidate
+		child</i>.</li>
+
+		<li>Otherwise, if the computed value of 'list-style-type' is the name
+		of a counter style, then the computed value of the 'content' property 
+		is ''counter(list-item, <i>&lt;counter-style></i>)'', where 
+		<i>&lt;counter-style></i> is the computed value of the 'list-style-type' 
+		property, followed by a string that is the suffix for the counter style 
+		in question (which may be empty). <span class=issue>Fix this.</span></li>
 
 		<li>Otherwise the computed value is ''none''.</li>
 	</ol>
@@ -664,7 +677,45 @@
 		<pre>counter(list-item, decimal) "."</pre>
 	</div>
 
-<!-- ====================================================================== -->
+<!-- ===================================================================== -->
+
+<h2 id='display-marker'>
+Using Content as Markers: the ''marker'' value for 'display'</h2>
+
+	<p>In some situations, such as legal proceedings or official minutes, the
+	precise form that the list marker takes is a vital part of the content.  It's
+	not acceptable for the marker to change just because the UA is not rendering
+	CSS, or some server error is temporarily preventing the CSS file from being
+	loaded, as the precise marker name is used to officially refer to that segment.
+	The only way to guarantee that the marker will be rendered correctly, regardless
+	of whether CSS is applied, is to specify the marker outside of CSS, directly
+	in the document's markup.  However, the page author may still want to style
+	the marker in many of the ways that are available to them when using ordinary
+	CSS-generated markers.  To accomodate this, a new value for the 'display'
+	property is defined.</p>
+
+	<table class='propdef'>
+		<tr>
+			<th>Name:
+			<td><dfn>display</dfn>
+		<tr>
+			<th>New Value:
+			<td>marker
+		<tr>
+			<th>Applies to:
+			<td>Children elements of display:list-item elements
+	</table>
+
+	<p>The ''marker'' value for 'display' indicates that an element is a 
+	<i title="inline-marker-candidate">candidate for having its contents used 
+	as a list marker</i>.  If the element is a child of a list item with 
+	''list-style-type:inline'', and none of the element's previous siblings are 
+	candidates, the textual content of the element (such as what would be returned
+	by the .textContent property on the element in HTML) must be used as the 
+	default contents of the ::marker pseudoelement on the element's parent.  
+	Otherwise, this value must be treated identically to ''inline-block''.</p>
+
+<!-- ===================================================================== -->
 
 <h2 id='predefined-counters'>
 Predefined Counter Styles</h2>

Received on Thursday, 28 April 2011 01:35:29 UTC