Re: non-leading <param>s in <object> fallback (detailed review of Semantics)

On 8/13/07, Ian Hickson <ian@hixie.ch> wrote:
>
> On Tue, 7 Aug 2007, Simon Pieters wrote:
> >
> > (This is part of my detailed review of the Semantics and structure of
> > HTML elements section.)
> >
> > Step 3 in the <object> algorithm says:
> >
> >   (Fallback.) The object element doesn't represent anything except what
> >   the element's contents represent, ignoring any leading param element
> >   children. This is the element's fallback content.
> >
> > s/leading // because processing of the object takes all children
> > <param>s into account, not just the leading ones.
>
> The rules aren't necessarily symmetric. All <param>s are taken into
> account so that the implementation can just walk through nodes filtered to
> just <param>s easily, and the fallback content is defined as all the stuff
> from the first that isn't a <param> element because that means you just
> need to walk until you find something interesting and then you just walk
> to the end without having to filter anything out.
>
> It doesn't matter in practice because the semantics of a <param>, when it
> isn't being used for an <object>, are basically nil (iirc).

Try this:
<object type="type">0<param>123<param>456<param>789</object>
<br>
<object data="data">0<param>123<param>456<param>789</object>
<br>
<object data="data" type="type">0<param>123<param>456<param>789</object>
<br>
<object>0<param>123<param>456<param>789</object>

In FF, Opera and IE this is what you get:

0123456789
0123456789
0123456789
0123456789

, which basically says that the fallback content is everything but the
params whether the params are leading or not.  The object steps count
on conforming object markup where the fallback content wouldn't be
found before the first param, so I'm not sure the description of the
fallback step is clear enough with the "leading" part.

Also, in Safari win32, the last fallback doesn't show and I'm not sure
the object steps say what to do here since the steps basically deal
with a conforming object that has at least type or data. You can imply
what happens when there's no data and no type, but the steps
themselves really don't say imo.

Anwyay, I'm not sure 100% if those situations are covered elsewhere.
If not, these things should probably be cleared up either in the
object steps or in ua conformance notes. If they are already covered,
carry on.

-- 
Michael

Received on Monday, 13 August 2007 08:19:07 UTC