HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/2753

File a bug

SVNBugCommentTime (UTC)
2753Filling in the rendering section: list styles; table borders; align=justify.2009-02-04 12:49
Index: source
===================================================================
--- source	(revision 2752)
+++ source	(revision 2753)
@@ -61323,11 +61323,6 @@
   on the element.</p>
 
   <p>The <code>td</code> and <code>th</code> elements' <code
-  title="attr-tdth-height">height</code> attributes <span title="maps
-  to the dimension property">map to the dimension property</span> 'height'
-  on the element.</p>
-
-  <p>The <code>td</code> and <code>th</code> elements' <code
   title="attr-tdth-width">width</code> attributes <span title="maps
   to the dimension property">map to the dimension property</span> 'width'
   on the element.</p>
@@ -61422,12 +61417,12 @@
   <code>td</code>, and <code>th</code> elements, when they have an
   <code title="attr-align">align</code> attribute whose value is an
   <span>ASCII case-insensitive</span> match for the string "<code
-  title="">left</code>" or "<code title="">justify</code>", are
-  expected to left-align text within themselves, as if they had their
-  'text-align' property set to 'left' in a <span title="presentational
-  hints">presentational hint</span>, and to left-align blocks and
-  tables within them, as if their descendants had their 'margin-right'
-  property set to 'auto' in <span>presentational hints</span>.</p>
+  title="">left</code>", are expected to left-align text within
+  themselves, as if they had their 'text-align' property set to 'left'
+  in a <span title="presentational hints">presentational hint</span>,
+  and to left-align blocks and tables within them, as if their
+  descendants had their 'margin-right' property set to 'auto' in
+  <span>presentational hints</span>.</p>
 
   <p>The <code>div</code>, <code>caption</code>, <code>thead</code>,
   <code>tbody</code>, <code>tfoot</code>, <code>tr</code>,
@@ -61441,6 +61436,18 @@
   their descendants had their 'margin-left' property set to 'auto' in
   <span>presentational hints</span>.</p>
 
+  <p>The <code>div</code>, <code>caption</code>, <code>thead</code>,
+  <code>tbody</code>, <code>tfoot</code>, <code>tr</code>,
+  <code>td</code>, and <code>th</code> elements, when they have an
+  <code title="attr-align">align</code> attribute whose value is an
+  <span>ASCII case-insensitive</span> match for the string "<code
+  title="">justify</code>", are expected to full-justify text within
+  themselves, as if they had their 'text-align' property set to
+  'justify' in a <span title="presentational hints">presentational
+  hint</span>, and to left-align blocks and tables within them, as if
+  their descendants had their 'margin-right' property set to 'auto' in
+  <span>presentational hints</span>.</p>
+
   <p>In all these cases, the effect on descendants is expected to only
   extend to descendants that do not themselves have an applicable
   <code title="attr-align">align</code> attribute.</p>
@@ -61467,9 +61474,75 @@
 :visited { color: purple; }
 body { color: black; background: white; }
 mark { background: yellow; color: black; }
-table { border-color: gray; }
-thead, tbody, tfoot, tr { border-color: inherit; }</pre>
 
+table, td, th { border-color: gray; }
+thead, tbody, tfoot, tr { border-color: inherit; }
+table[rules=none], table[rules=groups], table[rules=rows],
+table[rules=cols], table[rules=all], table[frames=void],
+table[frames=above], table[frames=below], table[frames=hsides],
+table[frames=lhs], table[frames=rhs], table[frames=vsides],
+table[frames=box], table[frames=border],
+table[rules=none] > tr > td, table[rules=none] > tr > th,
+table[rules=groups] > tr > td, table[rules=groups] > tr > th,
+table[rules=rows] > tr > td, table[rules=rows] > tr > th,
+table[rules=cols] > tr > td, table[rules=cols] > tr > th,
+table[rules=all] > tr > td, table[rules=all] > tr > th,
+table[frames=void] > tr > td, table[frames=void] > tr > th,
+table[frames=above] > tr > td, table[frames=above] > tr > th,
+table[frames=below] td, table[frames=below] > tr > th,
+table[frames=hsides] > tr > td, table[frames=hsides] > tr > th,
+table[frames=lhs] > tr > td, table[frames=lhs] > tr > th,
+table[frames=rhs] > tr > td, table[frames=rhs] > tr > th,
+table[frames=vsides] > tr > td, table[frames=vsides] > tr > th,
+table[frames=box] > tr > td, table[frames=box] > tr > th,
+table[frames=border] > tr > td, table[frames=border] > tr > th,
+table[rules=none] > thead > tr > td, table[rules=none] > thead > tr > th,
+table[rules=groups] > thead > tr > td, table[rules=groups] > thead > tr > th,
+table[rules=rows] > thead > tr > td, table[rules=rows] > thead > tr > th,
+table[rules=cols] > thead > tr > td, table[rules=cols] > thead > tr > th,
+table[rules=all] > thead > tr > td, table[rules=all] > thead > tr > th,
+table[frames=void] > thead > tr > td, table[frames=void] > thead > tr > th,
+table[frames=above] > thead > tr > td, table[frames=above] > thead > tr > th,
+table[frames=below] td, table[frames=below] > thead > tr > th,
+table[frames=hsides] > thead > tr > td, table[frames=hsides] > thead > tr > th,
+table[frames=lhs] > thead > tr > td, table[frames=lhs] > thead > tr > th,
+table[frames=rhs] > thead > tr > td, table[frames=rhs] > thead > tr > th,
+table[frames=vsides] > thead > tr > td, table[frames=vsides] > thead > tr > th,
+table[frames=box] > thead > tr > td, table[frames=box] > thead > tr > th,
+table[frames=border] > thead > tr > td, table[frames=border] > thead > tr > th,
+table[rules=none] > tbody > tr > td, table[rules=none] > tbody > tr > th,
+table[rules=groups] > tbody > tr > td, table[rules=groups] > tbody > tr > th,
+table[rules=rows] > tbody > tr > td, table[rules=rows] > tbody > tr > th,
+table[rules=cols] > tbody > tr > td, table[rules=cols] > tbody > tr > th,
+table[rules=all] > tbody > tr > td, table[rules=all] > tbody > tr > th,
+table[frames=void] > tbody > tr > td, table[frames=void] > tbody > tr > th,
+table[frames=above] > tbody > tr > td, table[frames=above] > tbody > tr > th,
+table[frames=below] td, table[frames=below] > tbody > tr > th,
+table[frames=hsides] > tbody > tr > td, table[frames=hsides] > tbody > tr > th,
+table[frames=lhs] > tbody > tr > td, table[frames=lhs] > tbody > tr > th,
+table[frames=rhs] > tbody > tr > td, table[frames=rhs] > tbody > tr > th,
+table[frames=vsides] > tbody > tr > td, table[frames=vsides] > tbody > tr > th,
+table[frames=box] > tbody > tr > td, table[frames=box] > tbody > tr > th,
+table[frames=border] > tbody > tr > td, table[frames=border] > tbody > tr > th,
+table[rules=none] > tfoot > tr > td, table[rules=none] > tfoot > tr > th,
+table[rules=groups] > tfoot > tr > td, table[rules=groups] > tfoot > tr > th,
+table[rules=rows] > tfoot > tr > td, table[rules=rows] > tfoot > tr > th,
+table[rules=cols] > tfoot > tr > td, table[rules=cols] > tfoot > tr > th,
+table[rules=all] > tfoot > tr > td, table[rules=all] > tfoot > tr > th,
+table[frames=void] > tfoot > tr > td, table[frames=void] > tfoot > tr > th,
+table[frames=above] > tfoot > tr > td, table[frames=above] > tfoot > tr > th,
+table[frames=below] td, table[frames=below] > tfoot > tr > th,
+table[frames=hsides] > tfoot > tr > td, table[frames=hsides] > tfoot > tr > th,
+table[frames=lhs] > tfoot > tr > td, table[frames=lhs] > tfoot > tr > th,
+table[frames=rhs] > tfoot > tr > td, table[frames=rhs] > tfoot > tr > th,
+table[frames=vsides] > tfoot > tr > td, table[frames=vsides] > tfoot > tr > th,
+table[frames=box] > tfoot > tr > td, table[frames=box] > tfoot > tr > th,
+table[frames=border] > tfoot > tr > td, table[frames=border] > tfoot > tr > th {
+  border-color: black;
+}
+
+</pre>
+
   <hr>
 
   <p>The <code>article</code>, <code>aside</code>, <code>nav</code>,
@@ -61725,9 +61798,8 @@
 q:before { content: open-quote; }
 q:after { content: close-quote; }
 
-nobr, td[nowrap], th[nowrap] { white-space: nowrap; }
+nobr { white-space: nowrap; }
 listing, plaintext, pre, xmp { white-space: pre; }
-pre[wrap] { white-space: pre-wrap; }
 
 ol { list-style-type: decimal; }
 
@@ -61762,6 +61834,8 @@
 }
 
 iframe { border: 2px inset; }
+table { border-style: outset; }
+td, th { border-style: inset; }
 
 [dir=rtl] { direction: rtl; unicode-bidi: embed; }
 [dir=ltr] { direction: lrt; unicode-bidi: embed; }
@@ -61771,14 +61845,133 @@
   for the locales and languages understood by the user are expected to
   be present.</p>
 
-  <!-- XXX <ol>/<ul> type (1|a|A|i|I|disc|circle/round|square), start (n); <li> type (A|a|I|i|1|disc|circle/round|square), value (n) -->
-
   <hr>
 
-  <p class="XXX">...tables...</p>
-  <!-- table: rules/layout/frames; <table border> (border => border=1);  -->
+  <p>The following rules are also expected to apply, as
+  <span>presentational hints</span>:</p>
 
+  <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
 
+td[nowrap], th[nowrap] { white-space: nowrap; }
+pre[wrap] { white-space: pre-wrap; }
+
+ol[type=1], li[type=1] { list-style-type: decimal; }
+ol[type=a], li[type=a] { list-style-type: lower-alpha; }
+ol[type=A], li[type=A] { list-style-type: upper-alpha; }
+ol[type=i], li[type=i] { list-style-type: lower-roman; }
+ol[type=I], li[type=I] { list-style-type: upper-roman; }
+ul[type=disc], li[type=disc] { list-style-type: disc; }
+ul[type=circle], li[type=circle] { list-style-type: circle; }
+ul[type=square], li[type=square] { list-style-type: square; }
+
+table[rules=none], table[rules=groups], table[rules=rows],
+table[rules=cols], table[rules=all] {
+  border-style: none;
+  border-collapse: collapse;
+}
+
+table[frames=void] { border-style: hidden hidden hidden hidden; }
+table[frames=above] { border-style: solid hidden hidden hidden; }
+table[frames=below] { border-style: hidden hidden solid hidden; }
+table[frames=hsides] { border-style: solid hidden solid hidden; }
+table[frames=lhs] { border-style: hidden hidden hidden solid; }
+table[frames=rhs] { border-style: hidden solid hidden hidden; }
+table[frames=vsides] { border-style: hidden solid hidden solid; }
+table[frames=box],
+table[frames=border] { border-style: solid solid solid solid; }
+
+table[frames=void] > tr > td, table[frames=void] > tr > th,
+table[frames=above] > tr > td, table[frames=above] > tr > th,
+table[frames=below] td, table[frames=below] > tr > th,
+table[frames=hsides] > tr > td, table[frames=hsides] > tr > th,
+table[frames=lhs] > tr > td, table[frames=lhs] > tr > th,
+table[frames=rhs] > tr > td, table[frames=rhs] > tr > th,
+table[frames=vsides] > tr > td, table[frames=vsides] > tr > th,
+table[frames=box] > tr > td, table[frames=box] > tr > th,
+table[frames=border] > tr > td, table[frames=border] > tr > th,
+table[frames=void] > thead > tr > td, table[frames=void] > thead > tr > th,
+table[frames=above] > thead > tr > td, table[frames=above] > thead > tr > th,
+table[frames=below] td, table[frames=below] > thead > tr > th,
+table[frames=hsides] > thead > tr > td, table[frames=hsides] > thead > tr > th,
+table[frames=lhs] > thead > tr > td, table[frames=lhs] > thead > tr > th,
+table[frames=rhs] > thead > tr > td, table[frames=rhs] > thead > tr > th,
+table[frames=vsides] > thead > tr > td, table[frames=vsides] > thead > tr > th,
+table[frames=box] > thead > tr > td, table[frames=box] > thead > tr > th,
+table[frames=border] > thead > tr > td, table[frames=border] > thead > tr > th,
+table[frames=void] > tbody > tr > td, table[frames=void] > tbody > tr > th,
+table[frames=above] > tbody > tr > td, table[frames=above] > tbody > tr > th,
+table[frames=below] td, table[frames=below] > tbody > tr > th,
+table[frames=hsides] > tbody > tr > td, table[frames=hsides] > tbody > tr > th,
+table[frames=lhs] > tbody > tr > td, table[frames=lhs] > tbody > tr > th,
+table[frames=rhs] > tbody > tr > td, table[frames=rhs] > tbody > tr > th,
+table[frames=vsides] > tbody > tr > td, table[frames=vsides] > tbody > tr > th,
+table[frames=box] > tbody > tr > td, table[frames=box] > tbody > tr > th,
+table[frames=border] > tbody > tr > td, table[frames=border] > tbody > tr > th,
+table[frames=void] > tfoot > tr > td, table[frames=void] > tfoot > tr > th,
+table[frames=above] > tfoot > tr > td, table[frames=above] > tfoot > tr > th,
+table[frames=below] td, table[frames=below] > tfoot > tr > th,
+table[frames=hsides] > tfoot > tr > td, table[frames=hsides] > tfoot > tr > th,
+table[frames=lhs] > tfoot > tr > td, table[frames=lhs] > tfoot > tr > th,
+table[frames=rhs] > tfoot > tr > td, table[frames=rhs] > tfoot > tr > th,
+table[frames=vsides] > tfoot > tr > td, table[frames=vsides] > tfoot > tr > th,
+table[frames=box] > tfoot > tr > td, table[frames=box] > tfoot > tr > th,
+table[frames=border] > tfoot > tr > td, table[frames=border] > tfoot > tr > th {
+  border-style: solid;
+}
+
+table[rules=none] > tr > td, table[rules=none] > tr > th,
+table[rules=none] > thead > tr > td, table[rules=none] > thead > tr > th,
+table[rules=none] > tbody > tr > td, table[rules=none] > tbody > tr > th,
+table[rules=none] > tfoot > tr > td, table[rules=none] > tfoot > tr > th,
+table[rules=groups] > tr > td, table[rules=groups] > tr > th,
+table[rules=groups] > thead > tr > td, table[rules=groups] > thead > tr > th,
+table[rules=groups] > tbody > tr > td, table[rules=groups] > tbody > tr > th,
+table[rules=groups] > tfoot > tr > td, table[rules=groups] > tfoot > tr > th,
+table[rules=rows] > tr > td, table[rules=rows] > tr > th,
+table[rules=rows] > thead > tr > td, table[rules=rows] > thead > tr > th,
+table[rules=rows] > tbody > tr > td, table[rules=rows] > tbody > tr > th,
+table[rules=rows] > tfoot > tr > td, table[rules=rows] > tfoot > tr > th {
+  border-style: none;
+}
+
+table[rules=groups] > colgroup, table[rules=groups] > thead,
+table[rules=groups] > tbody, table[rules=groups] > tfoot {
+  border-style: solid;
+}
+
+table[rules=rows] > tr, table[rules=rows] > thead > tr,
+table[rules=rows] > tbody > tr, table[rules=rows] > tfoot > tr {
+  border-style: solid;
+}
+
+table[rules=cols] > tr > td, table[rules=cols] > tr > th,
+table[rules=cols] > thead > tr > td, table[rules=cols] > thead > tr > th,
+table[rules=cols] > tbody > tr > td, table[rules=cols] > tbody > tr > th,
+table[rules=cols] > tfoot > tr > td, table[rules=cols] > tfoot > tr > th {
+  border-style: none solid none solid;
+}
+
+table[rules=all] > tr > td, table[rules=all] > tr > th,
+table[rules=all] > thead > tr > td, table[rules=all] > thead > tr > th,
+table[rules=all] > tbody > tr > td, table[rules=all] > tbody > tr > th,
+table[rules=all] > tfoot > tr > td, table[rules=all] > tfoot > tr > th {
+  border-style: solid;
+}</pre>
+
+  <p>When rendering <code>li</code> elements, user agents are expected
+  to use the ordinal value of the <code>li</code> element to render
+  the counter in the list item marker.</p>
+
+  <p>The <code>table</code> element's <code
+  title="attr-table-border">border</code> attribute <span title="maps
+  to the pixel length property">maps to the pixel length
+  properties</span> 'border-top-width', 'border-right-width',
+  'border-bottom-width', 'border-left-width' on the element. If the
+  attribute is present but its value cannot be parsed successfully, a
+  default value of 1px is expected to be used for that property
+  instead.</p>
+
+
   <h4>Resetting rules for inherited properties</h4>
 
   <p>The following rules are also expected to be in play, resetting

|