HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2763Filling in the rendering section: <hr>, and a rearranging of the sections with minor tweaks. Again.2009-02-06 01:43
@@ -61213,38 +61213,21 @@ http://lxr.mozilla.org/seamonkey/search?string=nested
   it conveys to the user the meaning that the element
   <dfn>represents</dfn>, as described by this specification.</p>
 
   <p>The suggestions in this section generally assume a visual output
   medium with a resolution of 96dpi or greater, but HTML is intended
   to apply to multiple media (it is a <i>media-independent</i>
   language). User agents are encouraged to adapt the suggestions in
   this section to their target media.</p>
 
 
-  <h3>Hidden elements</h3>
-
-  <p>User agents are expected to use the following styles in all
-  media.</p>
-
-  <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
-
-[hidden], area, audio:not([controls]), base, basefont, command,
-datalist, eventsource, head, input[type=hidden], link,
-menu[type=context], meta, noembed, noframes, param, script, source,
-style, title { display: none; }</pre>
-
-  <p>This hides all the elements that do not represent anything
-  visible.</p>
-
-
-
-  <h3>Simple defaults</h3>
+  <h3>The CSS user agent style sheet and presentational hints</h3>
 
   <h4>Introduction</h4>
 
   <p>The CSS rules given in these subsections are, unless otherwise
   specified, expected to be used as part of the user-agent level style
   sheet defaults for all documents that contain <span>HTML
   elements</span>.</p>
 
   <p>Some rules are intended for the author-level zero-specificity
   presentational hints part of the CSS cascade; these are explicitly
@@ -61285,20 +61268,25 @@ style, title { display: none; }</pre>
   title="">properties</var>, with the value given as a pixel length if
   the dimension was an integer, and with the value given as a
   percentage if the dimension was a percentage.</p>
 
 
 
   <h4>Display types</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
 
+[hidden], area, audio:not([controls]), base, basefont, command,
+datalist, eventsource, head, input[type=hidden], link,
+menu[type=context], meta, noembed, noframes, param, script, source,
+style, title { display: none; }
+
 address, article, aside, blockquote, body, center, dd, dialog, dir,
 div, dl, dt, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr,
 html, layer, legend, listing, menu, multicol, nav, ol, p, plaintext,
 pre, rp, section, ul, xmp { display: block; }
 
 table { display: table; }
 caption { display: table-caption; }
 colgroup { display: table-column-group; }
 col { display: table-column; }
 thead { display: table-header-group; }
@@ -61337,20 +61325,24 @@ rt { display: ruby-text; }
 
   <p>For the purposes of the CSS ruby model, runs of descendants of
   <code>ruby</code> elements that are not <code>rt</code> or
   <code>rp</code> elements are expected to be wrapped in anonymous
   boxes whose 'display' property has the value 'ruby-base'.</p>
 
   <p>User agents that do not support correct ruby rendering are
   expected to render parentheses around the text of <code>rt</code>
   elements in the absence of <code>rp</code> elements.</p>
 
+  <p>The <code>br</code> element is expected to render as if its
+  contents were a single U+000A LINE FEED (LF) character and its
+  'white-space' property was 'pre'.</p>
+
 
   <h4>Margins and padding</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
 
 article, aside, blockquote, dir, dl, figure, listing, menu, nav, ol,
 p, plaintext, pre, section, ul, xmp {
   margin-top: 1em; margin-bottom: 1em;
 }
 
@@ -62088,21 +62080,21 @@ table[rules=cols], table[rules=all] {
 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=void] > tr > td, table[frames=void] > tr > th,
 table[frames=above] > tr > td, table[frames=above] > tr > th,
 table[frames=below] > > tr > 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,
@@ -62170,24 +62162,20 @@ 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>br</code> element is expected to render as if its
-  contents were a single U+000A LINE FEED (LF) character and its
-  'white-space' property was 'pre'.</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>
 
 
@@ -62209,20 +62197,80 @@ table {
   font-weight: initial;
   font-style: initial;
   font-variant: initial;
   font-size: initial;
   line-height: initial;
   white-space: initial;
   text-align: initial;
 }</pre>
 
 
+  <h4>The <code>hr</code> element</h4>
+
+  <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
+
+hr { color: gray; border-style: inset; border-width: 1px; }</pre>
+
+  <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);
+
+hr[align=left] { margin-left: 0; margin-right: auto; }
+hr[align=right] { margin-left: auto; margin-right: 0; }
+hr[align=center] { margin-left: auto; margin-right: auto; }
+hr[color], hr[noshade] { border-style: solid; }</pre>
+
+  <p>If an <code>hr</code> element has either a <code
+  title="attr-hr-color">color</code> attribute or a <code
+  title="attr-hr-noshade">noshade</code> attribute, and furthermore
+  also has a <code title="attr-hr-size">size</code> attribute, and
+  parsing that attribute's value using the <span>rules for parsing
+  non-negative integers</span> doesn't generate an error, then the
+  user agent is expected to use the parsed value divided by two as a
+  pixel length for <span>presentational hints</span> for the properties
+  'border-top-width', 'border-right-width', 'border-bottom-width', and
+  'border-left-width' on the element.</p>
+
+  <p>Otherwise, if an <code>hr</code> element has neither a <code
+  title="attr-hr-color">color</code> attribute nor a <code
+  title="attr-hr-noshade">noshade</code> attribute, but does have a
+  <code title="attr-hr-size">size</code> attribute, and parsing that
+  attribute's value using the <span>rules for parsing non-negative
+  integers</span> doesn't generate an error, then: if the parsed value
+  is one, then the user agent is expected to use the attribute as a
+  <span title="presentational hints">presentational hint</span>
+  setting the element's 'border-bottom-width' to 0; otherwise, if the
+  parsed value is greater than one, then the user agent is expected to
+  use the parsed value minus two as a pixel length for
+  <span>presentational hints</span> for the 'height' property on the
+  element.</p>
+
+  <p>The <code title="attr-hr-width">width</code> attribute on an
+  <code>hr</code> element <span>maps to the dimension property</span>
+  'width' on the element.</p>
+
+  <p>When an <code>hr</code> element has a <code
+  title="attr-hr-color">color</code> attribute, its value is expected
+  to be parsed using the <span>rules for parsing a legacy color
+  value</span>, and the user agent is expected to treat the attribute
+  as a <span title="presentational hints">presentational hint</span>
+  setting the element's 'color' property to the resulting color.</p>
+
+
+
+  <h4>The <code>fieldset</code> element</h4>
+
+  <p class="XXX">...</p>
+  <!-- XXX <legend align="left|right|center|bottom|top"> -->
+
+
 
   <h3>Replaced elements</h3>
 
   <h4>Embedded content</h4>
 
   <p>The <code>applet</code>, <code>canvas</code>, <code>embed</code>,
   <code>iframe</code>, and <code>video</code> elements are expected to
   be treated as replaced elements.</p>
 
   <p>An <code>object</code> element that <span>represents</span> an
@@ -62448,127 +62496,101 @@ object[align=bottom] {
 
   <h3>Bindings</h3>
 
   <h4>Introduction</h4>
 
   <p>A number of elements have their rendering defined in terms of the
   'binding' property. <a href="#refsBECSS">[BECSS]</a></p>
 
   <p>The CSS snippets below set the 'binding' property to a
   user-agent-defined value, represented below by keywords like <code
-  title=""><i>bb</i></code>. The rules then described for these
-  bindings are only expected to apply if the element's 'binding'
+  title=""><i title="">bb</i></code>. The rules then described for
+  these bindings are only expected to apply if the element's 'binding'
   property has not been overriden (e.g. by the author) to have another
   value.</p>
 
   <p>Exactly how the bindings are implemented is not specified by this
   specification. User agents are encouraged to make their bindings set
   the 'appearance' CSS property appropriately to achieve
   platform-native appearances for widgets, and are expected to
   implement any relevant animations, etc, that are appropriate for the
   platform. <a href="#refsCSSUI">[CSSUI]</a></p>
 
 
   <h4>The <code>bb</code> element</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
-bb:empty { binding: <i>bb</i>; }</pre>
+bb:empty { binding: <i title="">bb</i>; }</pre>
 
-  <p>When the <i>bb</i> binding applies to a <code>bb</code> element,
-  the element is expected to render as an 'inline-block' box rendered
-  as a button, about one line high, containing text derived from the
-  element's <code title="attr-bb-type">type</code> attribute in a
-  user-agent-defined (and probably locale-specific) fashion.</p>
+  <p>When the <i title="">bb</i> binding applies to a <code>bb</code>
+  element, the element is expected to render as an 'inline-block' box
+  rendered as a button, about one line high, containing text derived
+  from the element's <code title="attr-bb-type">type</code> attribute
+  in a user-agent-defined (and probably locale-specific) fashion.</p>
 
 
 
   <h4>The <code>button</code> element</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
-button { binding: <i>button</i>; }</pre>
+button { binding: <i title="">button</i>; }</pre>
 
-  <p>When the <i>button</i> binding applies to a <code>button</code>
-  element, the element is expected to render as an 'inline-block' box
-  rendered as a button whose contents are the contents of the
-  element.</p>
+  <p>When the <i title="">button</i> binding applies to a
+  <code>button</code> element, the element is expected to render as an
+  'inline-block' box rendered as a button whose contents are the
+  contents of the element.</p>
 
 
 
   <h4>The <code>datagrid</code> element</h4>
 
   <p class="XXX">This section will probably include details on how to
   render DATAGRID (including <span id="datagridPseudos">its
   pseudo-elements</span>), drag-and-drop, etc, in a visual medium, in
   concert with CSS. Implementation experience is desired before this
   section is filled in.</p>
 
 
   <h4>The <code>details</code> element</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
-details { binding: <i>details</i>; }</pre>
+details { binding: <i title="">details</i>; }</pre>
 
-  <p>When the <i>details</i> binding applies to a <code>details</code>
-  element, the element is expected to render as a 'block' box with its
-  'padding-left' property set to '40px'. The element's shadow tree is
-  expected to take a child element that matches the selector <code
+  <p>When the <i title="">details</i> binding applies to a
+  <code>details</code> element, the element is expected to render as a
+  'block' box with its 'padding-left' property set to '40px'. The
+  element's shadow tree is expected to take a child element that
+  matches the selector <code
   title="">:bound-element&nbsp;>&nbsp;legend:first-child</code> and
   place it in a first 'block' box container, and then take the
   remaining child nodes and place them in a later 'block' box
   container.</p>
 
   <p>The first container is expected to contain at least one line box,
   and that line box is expected to contain a triangle widget,
   horizontally positioned within the left padding of the
   <code>details</code> element. That widget is expected to allow the
   user to request that the details be shown or hidden.</p>
 
   <p>The later container is expected to have its 'overflow' property
   set to 'hidden'. When the <code>details</code> element has an <code
   title="attr-details-open">open</code> attribute, the later container
   is expected to have its 'height' set to 'auto'; when it does not,
   the later container is expected to have its 'height' set to 0.
 
 <!--
 XXX examples with screenshots
 http://mail.gnome.org/archives/usability/2006-June/msg00015.html
-want to show at least one that uses a triangle:
-
-  > No issues found
-    Viruses: 0
-    Trojans: 0
-
-...and one that uses a button widget instead of a triangle.
 -->
 
 
 
-  <h4>The <code>fieldset</code> element</h4>
-
-  <p class="XXX">...</p>
-  <!-- XXX <legend align="left|right|center|bottom|top"> -->
-
-
-
-  <h4>The <code>hr</code> element</h4>
-
-  <p class="XXX">...</p>
-  <!-- align=left|right|center (as auto margins), width=(int=>width:px; %->width:%)
-       color (color implies noshade); sets 'color' which then propagates to border-color; defaults to 'gray'
-       size=int, noshade
-         with noshade: border-width = size/2 (default size=2 => 1px per side); solid borders; rounded corners
-         without no shade: inset borders
-          without noshade, size>1: height = size-2; border-width=1px
-          without noshade, size=1: height = 0; border-top-width=1px only
-    -->
-
-
 
   <h4>The <code>input</code> element as a text entry widget</h4>
 
   <p class="XXX">When an <code>input</code> element's <code
   title="attr-input-type">type</code> attribute is in the <span
   title="attr-input-type-text">Text</span>, <span
   title="attr-input-type-search">Search</span>, <span
   title="attr-input-type-url">URL</span>, <span
   title="attr-input-type-email">E-mail</span>, or <span
   title="attr-input-type-password">Password</span> state, ...</p>

|