HTML Standard Tracker

Diff (omit for latest revision)
Filter

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

File a bug

SVNBugCommentTime (UTC)
2757Filling in the rendering section: embedded content section.2009-02-05 01:52
Index: source
===================================================================
--- source	(revision 2756)
+++ source	(revision 2757)
@@ -24461,20 +24461,12 @@
   <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 -->
 
 
 
@@ -61324,13 +61316,13 @@
 
   <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>
 
@@ -61371,9 +61363,7 @@
 
   <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
@@ -61398,8 +61388,8 @@
 
   <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;
@@ -61813,12 +61803,12 @@
        <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>
 
@@ -61872,7 +61862,6 @@
   list-style-type: square;
 }
 
-iframe { border: 2px inset; }
 table { border-style: outset; }
 td, th { border-style: inset; }
 
@@ -62041,32 +62030,215 @@
 
   <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>
 
-  <!--
-    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 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>
+
+  <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>
 
-  <!-- audio -->
+  <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>
+
+
+
   <h4>Fragment identifiers</h4>
 
   <p class="XXX">(need to remove "must" and reword) CSS UAs in visual
@@ -62081,6 +62253,7 @@
 
   <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) -->
 
 
 

|