HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
2757Filling in the rendering section: embedded content section.2009-02-05 01:52
@@ -24454,34 +24454,26 @@ function AddCloud(data, x, y) { ... }</pre>
   height</var> are the values of the <code
   title="attr-dim-width">width</code> and <code
   title="attr-dim-height">height</code> attributes respectively.</p>
 
   <p>The two attributes must be omitted if the resource in question
   does not have both an intrinsic width and an intrinsic height.</p>
 
   <p class="note">Basically, the dimension attributes can't be used to
   stretch the image.</p>
 
-  <p>To parse the attributes, user agents must use the <span>rules for
-  parsing dimension values</span>. This will return either an integer
-  length, a percentage value, or nothing. The user agent requirements
-  for processing the values obtained from parsing these attributes are
-  described <span title="sizing of embedded content">in the rendering
-  section</span><!-- XXX xref -->. If one of these attributes, when
-  parsing, returns no value, it must be treated, for the purposes of
-  those requirements, as if it was not specified.</p>
-
   <p>The <dfn title="dom-dim-width"><code>width</code></dfn> and <dfn
   title="dom-dim-height"><code>height</code></dfn> DOM attributes on
   the <code>iframe</code>, <code>embed</code>, <code>object</code>,
   and <code>video</code> elements must <span>reflect</span> the
-  respective content attributes of the same name.</p>
+  respective content attributes of the same name.</p> <!-- XXX check
+  that this is defined right in the face of percentages -->
 
 
 
 
   <h3>Tabular data</h3>
 
   <h4 id="table-intro">Introduction</h4>
 
   <p><em>This section is non-normative.</em></p>
 
@@ -61317,27 +61309,27 @@ td, th { padding: 1px; }</pre>
   title="maps to the pixel length property">maps to the pixel length
   properties</span> 'padding-top', 'padding-right', 'padding-bottom',
   and 'padding-left' of any <code>td</code> and <code>th</code>
   elements that have corresponding <span
   title="concept-cell">cells</span> in the <span
   title="concept-table">table</span> corresponding to the
   <code>table</code> element.</p>
 
   <p>The <code>table</code> element's <code
   title="attr-table-hspace">hspace</code> attribute <span title="maps
-  to the pixel length property">maps to the pixel length properties</span>
+  to the dimension property">maps to the dimension properties</span>
   'margin-left' and 'margin-right' on the <code>table</code>
   element.</p>
 
   <p>The <code>table</code> element's <code
   title="attr-table-vspace">vspace</code> attribute <span title="maps
-  to the pixel length property">maps to the pixel length properties</span>
+  to the dimension property">maps to the dimension properties</span>
   'margin-top' and 'margin-bottom' on the <code>table</code>
   element.</p>
 
   <p>The <code>table</code> element's <code
   title="attr-table-height">height</code> attribute <span>maps to the
   dimension property</span> 'height' on the <code>table</code>
   element.</p>
 
   <p>The <code>table</code> element's <code
   title="attr-table-width">width</code> attribute <span>maps to the
@@ -61364,23 +61356,21 @@ td, th { padding: 1px; }</pre>
   to the dimension property">map to the dimension property</span> 'width'
   on the element.</p>
 
   <hr>
 
   <p>In <span>quirks mode</span>, the following rules are also
   expected to apply:</p>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
 
-form { margin-bottom: 1em; }
-img[align=left] { margin-right: 3px; }
-img[align=right] { margin-left: 3px; }</pre>
+form { margin-bottom: 1em; }</pre>
 
   <p>When a <code>Document</code> is in <span>quirks mode</span>,
   margins on <span>HTML elements</span> that collapse with the top or
   bottom of the initial containing block are expected to be collapsed
   to zero.</p>
 
 
   <h4>Alignment</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
@@ -61391,22 +61381,22 @@ sub { vertical-align: sub; }
 sup { vertical-align: super; }
 th { text-align: center; }</pre>
 
   <hr>
 
   <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);
 
-table[align=left], img[align=left] { float: left; }
-table[align=right], img[align=right] { float: right; }
+table[align=left] { float: left; }
+table[align=right] { float: right; }
 table[align=center], table[align=abscenter],
 table[align=abdmiddle], table[align=middle] {
   margin-left: auto; margin-right: auto;
 }
 
 caption[align=bottom] { caption-side: bottom; }
 p[align=left], h1[align=left], h2[align=left], h3[align=left],
 h4[align=left], h5[align=left], h6[align=left] {
   text-align: left;
 }
@@ -61806,26 +61796,26 @@ table[frames=border] > tfoot > tr > td, table[frames=border] > tfoot > tr > th {
       <tr>
        <td>5
        <td>x-large
        <td>
       <tr>
        <td>6
        <td>xx-large
        <td>
       <tr>
        <td>7
-       <td>xxx-large
+       <td>x<!---->xx-large
        <td><i>see below</i>
     </table>
 
-    <p>The 'xxx-large' value is a non-CSS value used here to indicate
-    a font size one "step" larger than 'xx-large'.</p>
+    <p>The 'x<!---->xx-large' value is a non-CSS value used here to
+    indicate a font size one "step" larger than 'xx-large'.</p>
 
    </li>
 
   </ol>
 
 
   <h4>Punctuation and decorations</h4>
 
   <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
 
@@ -61865,21 +61855,20 @@ ol dir dl, ol dir menu, ol dir ul,
 ol menu dl, ol menu menu, ol menu ul, 
 ol ol dl, ol ol menu, ol ol ul, 
 ol ul dl, ol ul menu, ol ul ul, 
 ul dir dl, ul dir menu, ul dir ul, 
 ul menu dl, ul menu menu, ul menu ul, 
 ul ol dl, ul ol menu, ul ol ul, 
 ul ul dl, ul ul menu, ul ul ul {
   list-style-type: square;
 }
 
-iframe { border: 2px inset; }
 table { border-style: outset; }
 td, th { border-style: inset; }
 
 [dir=ltr] { direction: lrt; unicode-bidi: embed; }
 [dir=rtl] { direction: rtl; unicode-bidi: embed; }
 bdo[dir=ltr], bdo[dir=rtl] { unicode-bidi: bidi-override; }</pre>
 
   <p>In addition, rules setting the 'quotes' property appropriately
   for the locales and languages understood by the user are expected to
   be present.</p>
@@ -62034,60 +62023,244 @@ table {
   white-space: initial;
   text-align: initial;
 }</pre>
 
 
 
   <h3>Self-contained features</h3>
 
   <h4>Embedded content</h4>
 
-  <p class="XXX">...</p>
+  <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>
 
-  <!-- applet, canvas, embed, iframe, img, input type=image, object, video -->
-  <!-- <code>input</code> elements whose <code title="attr-input-type">type</code> attribute is in the <span title="attr-input-type-image">Image Button</span> state -->
+  <hr>
 
-  <!--
-      iframe:
-        width, height = as <img>; frameborder, scrolling=as <frame>; align=as <img>; marginheight, marginwidth (int/%) (=?)
-      img, input type=image, object:
-        width, height (int/%); hspace, vspace => margins (int/%); border (int>=0) => border-width, with border-style: solid;
-        align (left=float:left|right=float:right|top=v-a:t|bottom/baseline=v-a:b|center/middle=[1]|texttop=v-a:tt|absmiddle/abscenter=v-a:m|absbottom=v-a:b)
-        [1] = position vertical middle with parent baseline
-    -->
+  <p>When an <code>img</code> element or an <code>input</code> element
+  when its <code title="attr-input-type">type</code> attribute is in
+  the <span title="attr-input-type-image">Image Button</span> state
+  <span>represents</span> an image, it is expected to be treated as a
+  replaced element.</p>
+
+  <p>When an <code>img</code> element or an <code>input</code> element
+  when its <code title="attr-input-type">type</code> attribute is in
+  the <span title="attr-input-type-image">Image Button</span> state
+  does not <span title="represents">represent</span> an image, but the
+  element already has instrinsic dimensions (e.g. from the
+  <span>dimension attributes</span> or CSS rules), and either the user
+  agent has reason to believe that the image will become
+  <i>available</i> and be rendered in due course or the
+  <code>Document</code> is in <span>quirks mode</span>, the element is
+  expected to be treated as a replaced element whose content is the
+  text that the element represents, if any, optionally alongside an
+  icon indicating that the image is being obtained. For
+  <code>input</code> elements, the text is expected to appear
+  button-like to indicate that the element is a <span
+  title="concept-button">button</span>.</p>
 
-  <!--
-    img - how to handle alt text, img in link (no border)... Define
-    that either the src="" is shown (as an image) or the alt="" is
-    shown (inline) but should not ever have both at once.
+  <p>When an <code>img</code> element <span>represents</span> some
+  text and the user agent does not expect this to change, the element
+  is expected to be treated as an inline element whose content is the
+  text, optionally with an icon indicating that an image is
+  missing.</p>
+
+  <p>When an <code>img</code> element <span>represents</span> nothing
+  and the user agent does not expect this to change, the element is
+  expected to not be rendered at all.</p>
+
+  <p>When an <code>img</code> element might be a key part of the
+  content, but neither the image nor any kind of alternative text is
+  available, and the user agent does not expect this to change, the
+  element is expected to be treated as an inline element whose content
+  is an icon indicating that an image is missing.</p> <!-- there's
+  also a should requirement for this case in the <img> section itself
   -->
 
-  <p class="XXX">Terms that need to be defined include: <dfn>sizing
-  of embedded content</dfn></p>
+  <p>When an <code>input</code> element whose <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-image">Image Button</span> state does not
+  <span title="represents">represent</span> an image and the user
+  agent does not expect this to change, the element is expected to be
+  treated as a replaced element consisting of a button whose content
+  is the element's alternative text. The intrinsic dimensions of the
+  button are expected to be about one line in height and whatever
+  width is necessary to render the text on one line.</p>
+
+  <p>The icons mentioned above are expected to be relatively small so
+  as not to disrupt most text but be easily clickable, for instance 16
+  pixels by 16 pixels square, or 1em by 1em if the images are
+  scalable. The images are intended to indicate to the user that they
+  can be used to get to whatever options the UA provides for images,
+  and, where appropriate, are expected to provide access to the
+  context menu that would have come up if the user interacted with the
+  actual image.</p>
+
+  <hr>
+
+  <p>An <code>object</code> element that <span>represents</span> an
+  image, plugin, or <span>nested browsing context</span> is expected
+  to be treated as a replaced element. Other <code>object</code>
+  elements are expected to be treated as ordinary elements in the
+  rendering model.</p>
+
+  <hr>
+
+  <p>The <code>audio</code> element, when it has a <code
+  title="attr-media-controls">controls</code> attribute, is expected
+  to be treated as a replaced element about one line high, as wide as
+  is necessary to expose the user agent's user interface features.</p>
+
+  <hr>
+
+  <p>The following CSS rules are expected to apply:</p>
+
+  <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
+
+iframe { border: 2px inset; }</pre>
+
+  <hr>
+
+  <p>The following CSS rules are expected to apply as
+  <span>presentational hints</span>:</p>
+
+  <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
+
+iframe[frameborder=0], iframe[frameborder=no] { border: none; }
+
+applet[align=left], embed[align=left], iframe[align=left],
+img[align=left], input[type=image][align=left], object[align=left] {
+  float: left;
+}
+
+applet[align=right], embed[align=right], iframe[align=right],
+img[align=right], input[type=image][align=right], object[align=right] {
+  float: right;
+}
+
+applet[align=top], embed[align=top], iframe[align=top],
+img[align=top], input[type=image][align=top], object[align=top] {
+  vertical-align: top;
+}
+
+applet[align=bottom], embed[align=bottom], iframe[align=bottom],
+img[align=bottom], input[type=image][align=bottom], object[align=bottom],
+applet[align=baseline], embed[align=baseline], iframe[align=baseline],
+img[align=baseline], input[type=image][align=baseline], object[align=baseline] {
+  vertical-align: baseline;
+}
+
+applet[align=texttop], embed[align=texttop], iframe[align=texttop],
+img[align=texttop], input[type=image][align=texttop], object[align=texttop] {
+  vertical-align: text-top;
+}
+
+applet[align=absmiddle], embed[align=absmiddle], iframe[align=absmiddle],
+img[align=absmiddle], input[type=image][align=absmiddle], object[align=absmiddle],
+applet[align=abscenter], embed[align=abscenter], iframe[align=abscenter],
+img[align=abscenter], input[type=image][align=abscenter], object[align=abscenter] {
+  vertical-align: middle;
+}
+
+applet[align=bottom], embed[align=bottom], iframe[align=bottom],
+img[align=bottom], input[type=image][align=bottom],
+object[align=bottom] {
+  vertical-align: bottom;
+}</pre>
+
+  <p>When an <code>applet</code>, <code>embed</code>,
+  <code>iframe</code>, <code>img</code>, or <code>object</code>
+  element, or an <code>input</code> element whose <code
+  title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-image">Image Button</span> state, has an
+  <code title="attr-dim-align">align</code> attribute whose value is
+  an <span>ASCII case-insensitive</span> match for the string "<code
+  title="">center</code>" or the string "<code
+  title="">middle</code>", the user agent is expected to act as if the
+  element's 'vertical-align' property was set to a value that aligns
+  the vertical middle of the element with the parent element's
+  baseline.</p>
+
+  <p>The <code title="attr-dim-hspace">hspace</code> attribute of
+  <code>applet</code>, <code>embed</code>, <code>iframe</code>,
+  <code>img</code>, or <code>object</code> elements, and
+  <code>input</code> elements with a <code
+  title="attr-input-type">type</code> attribute in the <span
+  title="attr-input-type-image">Image Button</span> state, <span
+  title="maps to the dimension property">maps to the dimension
+  properties</span> 'margin-left' and 'margin-right' on the
+  element.</p>
+
+  <p>The <code title="attr-dim-vspace">vspace</code> attribute of
+  <code>applet</code>, <code>embed</code>, <code>iframe</code>,
+  <code>img</code>, or <code>object</code> elements, and
+  <code>input</code> elements with a <code
+  title="attr-input-type">type</code> attribute in the <span
+  title="attr-input-type-image">Image Button</span> state, <span
+  title="maps to the dimension property">maps to the dimension
+  properties</span> 'margin-top' and 'margin-bottom' on the
+  element.</p>
+
+  <p>When an <code>img</code> element, <code>object</code> element, or
+  <code>input</code> element with a <code
+  title="attr-input-type">type</code> attribute in the <span
+  title="attr-input-type-image">Image Button</span> state is contained
+  within a <span>hyperlink</span> and has a <code
+  title="attr-dim-border">border</code> attribute whose value, when
+  parsed using the <span>rules for parsing non-negative
+  integers</span>, is found to be a number greater than zero, the user
+  agent is expected to use the parsed value for eight
+  <span>presentational hints</span>: four setting the parsed value as
+  a pixel length for the element's 'border-top-width',
+  'border-right-width', 'border-bottom-width', and 'border-left-width'
+  properties, and four setting the element's 'border-top-style',
+  'border-right-style', 'border-bottom-style', and 'border-left-style'
+  properties to the value 'solid'.</p>
+
+  <p>The <code title="attr-dim-width">width</code> and <code
+  title="attr-dim-height">height</code> attributes on
+  <code>applet</code>, <code>embed</code>, <code>iframe</code>,
+  <code>img</code>, <code>object</code> or <code>video</code>
+  elements, and <code>input</code> elements with a <code
+  title="attr-input-type">type</code> attribute in the <span
+  title="attr-input-type-image">Image Button</span> state, <span
+  title="maps to the pixel length property">map to the dimension
+  properties</span> 'width' and 'height' on the element
+  respectively.</p>
+
+  <hr>
+
+  <p>The following CSS rules are expected to apply when the
+  <code>Document</code> is in <span>quirks mode</span>:</p>
+
+  <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
+
+img[align=left] { margin-right: 3px; }
+img[align=right] { margin-left: 3px; }</pre>
 
-  <!-- audio -->
 
 
   <h4>Fragment identifiers</h4>
 
   <p class="XXX">(need to remove "must" and reword) CSS UAs in visual
   media must, when scrolling a page to a fragment identifier, align
   the top of the viewport with the target element's top border
   edge.</p> <!-- XXX horiz pos given bidi, and not scrolling when not
   required to?  -->
 
 
 
   <h4>Frames</h4>
 
   <p class="XXX">...</p>
   <!-- <frame>: bordercolor; frameborder (yes/1|no/0); marginwidth, marginheight (int/%); scrolling (yes/on/scroll|no/off/noscroll|auto) -->
+  <!-- <frame>, <iframe>: scrolling (yes/on/scroll|no/off/noscroll|auto) -->
 
 
 
   <h4>Ruby annotations</h4>
 
   <p class="XXX">...</p>
 
   <!-- XXX ruby, rt, rp 
   > * note on rt rendering
   > 

|