Short URL: http://html5.org/r/2757
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 2757 | Filling 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) -->