OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: The semantics of mediaobject


Hello world,

The description of mediaobject states:

  This element contains a set of alternative âmedia objects.â Exactly
  one object will be selected and rendered. â Under no circumstances
  should more than one object in a mediaobject be used or presented at
  the same time.

Bearing in mind that this markup was invented 15 or 20 years ago, long
before any (widely used) web browser offered anything sophisticated in
the way of fallback, we anticipated that markup like this:

  <mediaobject>
    <videoobject>â</videoobject>
    <imageobject>â</imageobject>
    <textobject>â</textobject>
  </mediaobject>

would be intepreted along the following lines: ââ a mediaobject might
contain a video, a high-resolution image, a low-resolution image, a long
text description, and a short text description. In a âhigh-endâ online
system, the video is used. For print publishing, the high-resolution
image is used. For other online systems, either the high- or the
low-resolution image is used, possibly including the short text
description as the online alternative. In a text-only environment,
either the long or the short text description is used.â

<aside>I observe that âpossibly including the short textâ is, by a very
narrow reading, a violation of the semantics weâve already
asserted.</aside>

Starting in V5.1 we allow more than one *data element in a *object
element[1] with the semantics that the downstream processor will pick
one. So now you can do:

  <mediaobject>
    <videoobject>
      <videodata type="video/mp4" â/>
      <videodata type="video/webm" â/>
    </videoobject>
    <imageobject>â</imageobject>
    <textobject>â</textobject>
  </mediaobject>

And let the browser decide whether it wants to render MP4 or WebM.

Trouble is, you canât put imagedata in the videoobject wrapper, so
thereâs no way to fallback to a still image. We could fix this by
changing videoobject (and audioobject) to allow imageobject, but at that
point, we might as well do away with the various flavors and just have
one wrapper. (Thatâs probably what weâd do today, if we were starting
over.)

Rather than make the markup even more complicated, Iâm tempted to squint
really hard at the semantics and try to persuade you that selecting
multiple objects from the same mediaobject is not a violation of the
semantics if the rendering system will only render one of them.

In other words, I want a license to cheat and say that I can render that
example above in HTML5 as a video element containing three sources, two
videos and an image. What say you?

                                        Be seeing you,
                                          norm

[1] But the content model of imageobject weirdly forbids you from mixing
SVG and MathML and other formats. What is that about?

--
Norm Tovey-Walsh <ndw@nwalsh.com>
https://norm.tovey-walsh.com/

> Advancement is powered by the dynamic interaction of theory and
> practice.

Attachment: signature.asc
Description: PGP signature



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]