Re: The semantics of mediaobject
Dave Pawson <[email protected]> Thu, 6 Apr 2023 07:45:50 +0100
| Newsgroups | gmane.text.docbook.misc |
|---|---|
| Message-ID | <CAEncD4f5PdO0KxCipFUhUVAEdEtdnyoxqG3xeeKY-C00RQwrSg@mail.gmail.com> |
On Thu, 6 Apr 2023 at 01:47, Bob Stayton <[email protected]> wrote: > > It seems ok to me. The idea of a mediaobject is to contain markup for on= e or more versions of the same content. Presenting more than one of those = to the end user would be redundant and annoying. If you consider the whole= rendering system to be the transformation from DocBook to HTML5 *and* the = browser rendering of that HTML5, then your use case does not seem to violat= e the description because the consumer of the content sees only one version= , right? Relies on an odd (rare?) circumstance, despite being logical. Is there any backwards compatibility reason not to adopt Norms logic? regards > > Bob > > On 4/5/2023 9:27 AM, Norm Tovey-Walsh wrote: > > Hello world, > > The description of mediaobject states: > > This element contains a set of alternative =E2=80=9Cmedia objects.=E2= =80=9D Exactly > one object will be selected and rendered. =E2=80=A6 Under no circumstan= ces > 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>=E2=80=A6</videoobject> > <imageobject>=E2=80=A6</imageobject> > <textobject>=E2=80=A6</textobject> > </mediaobject> > > would be intepreted along the following lines: =E2=80=9C=E2=80=A6 a media= object might > contain a video, a high-resolution image, a low-resolution image, a long > text description, and a short text description. In a =E2=80=98high-end=E2= =80=99 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.=E2=80=9D > > <aside>I observe that =E2=80=9Cpossibly including the short text=E2=80=9D= is, by a very > narrow reading, a violation of the semantics we=E2=80=99ve 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=3D"video/mp4" =E2=80=A6/> > <videodata type=3D"video/webm" =E2=80=A6/> > </videoobject> > <imageobject>=E2=80=A6</imageobject> > <textobject>=E2=80=A6</textobject> > </mediaobject> > > And let the browser decide whether it wants to render MP4 or WebM. > > Trouble is, you can=E2=80=99t put imagedata in the videoobject wrapper, s= o > there=E2=80=99s 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=E2=80=99s probably what we=E2=80=99d do today, if we w= ere starting > over.) > > Rather than make the markup even more complicated, I=E2=80=99m 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 <[email protected]> > https://norm.tovey-walsh.com/ > > Advancement is powered by the dynamic interaction of theory and > practice. --=20 Dave Pawson XSLT XSL-FO FAQ. Docbook FAQ.