W3C home > Mailing lists > Public > public-html@w3.org > July 2013

Re: TextTrackCue discussions

From: Glenn Adams <glenn@skynav.com>
Date: Fri, 26 Jul 2013 08:39:54 -0600
Message-ID: <CACQ=j+fnobc=UDY5TDTYC6-MLP7rsiaW-gzB6P0sVAnawmjmxw@mail.gmail.com>
To: Silvia Pfeiffer <silviapfeiffer1@gmail.com>
Cc: Brendan Long <self@brendanlong.com>, HTML WG LIST <public-html@w3.org>
On Fri, Jul 26, 2013 at 8:30 AM, Silvia Pfeiffer
<silviapfeiffer1@gmail.com>wrote:

> On Fri, Jul 26, 2013 at 11:18 PM, Glenn Adams <glenn@skynav.com> wrote:
> >
> >
> > On Thu, Jul 25, 2013 at 8:00 PM, Silvia Pfeiffer <
> silviapfeiffer1@gmail.com>
> > wrote:
> >>
> >> On Wed, Jul 24, 2013 at 2:26 AM, Brendan Long <self@brendanlong.com>
> >> wrote:
> >> >
> >> > I agree with this, but I think it needs to go (at least) one step
> >> > further.
> >> > To be usable by HTML authors, we need to present standard interfaces.
> >> > Telling them "you can look at the [some caption format] spec" doesn't
> >> > help,
> >> > because a given page may not know what the format of a video is. I
> don't
> >> > look up the JPEG spec whenever I want to display an image.
> >> >
> >> > I actually think the HTML5 CR version is close to perfect, it just
> >> > contains
> >> > a small amount of style information which is specific to WebVTT. If
> you
> >> > remove that, you get a good interface for any cue which can be
> rendered:
> >> >
> >> > interface TextTrackCue : EventTarget {
> >> >   readonly attribute TextTrack? track;
> >> >
> >> >            attribute DOMString id;
> >> >            attribute double startTime;
> >> >            attribute double endTime;
> >> >            attribute boolean pauseOnExit;
> >> >            attribute DOMString text;
> >> >   DocumentFragment getCueAsHTML();
> >> >
> >> >            attribute EventHandler onenter;
> >> >            attribute EventHandler onexit;
> >> > };
> >>
> >>
> >> All of these are already there, except for the getCueAsHTML() function,
> >> see
> >>
> >>
> http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#texttrackcue
> >>
> >>
> >> > This way, any web author can take any video and look through the cues,
> >> > without knowing or caring what their original format was.
> >> >
> >> > The only thing in this that may not apply to all cues is the html
> part,
> >> > but
> >> > we could allow it to be null for cases where cues aren't meant to be
> >> > displayed. Any caption that can be displayed should be able to present
> >> > its
> >> > content as HTML.
> >>
> >> If the browser parses a file and it knows how to parse the cues, it
> >> creates the cues immediately as the specialised object, e.g. VTTCue in
> >> the case of WebVTT.
> >> It will only create TextTrackCue objects when it doesn't know how to
> >> render the cues as HTML.
> >>
> >> Thus, if we added a getCueAsHTML() to TextTrackCue, it would always
> >> have to return null, so that makes no sense.
> >
> >
> > What do you mean by "always"? Since VTTCue would override this method to
> > return a non-null value, and since a browser that understands some other
> > format may convert it to HTML even without a specialized sub-interface
> (like
> > VTTCue)
>
> This is where we have a different understanding: I don't believe a
> browser should support and be able to parse and render a cue format
> without there being a specific XXXCue interface for it.


I didn't say "should", but "may". In any case, this is the point being made
by Brendan, which is that a JS client may not care about a cue
sub-interface when getCueAsHTML() provides an HTML fragment that is
satisfactory.


> I don't see a
> reason why a browser would implement support for a cue format without
> also making that support available to JavaScript developers.
>

If the only purpose of defining a cue specific sub-interface type is to
define a getCueAsHTML() method, then there is little utility in defining
such a sub-interface. There is no need to define a public sub-interface in
this case if TextTrackCue retains the getCueAsHTML() method.


>
> > and thus return a non-null value, then "always have to return null"
> > doesn't make any sense.
> >
> >>
> >>
> >> What this would do, though, is to give the browser the chance to parse
> >> a file that it knows how to parse into cues and provide these cues
> >> through a TextTrackCue in .text to the JS developer. Then there is
> >> also the .inBandMetadataTrackDispatchType attribute on TextTrack to
> >> signal what the format of that cue may be if that information may be
> >> available.
> >>
> >> (
> http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#dom-texttrack-inbandmetadatatrackdispatchtype
> )
> >
> >
> > BTW, I find this attribute to be rather poorly named. (1) it is too long,
> > (2) it is or should not be restricted to metadata kind, (3) it is just as
> > applicable for other kinds of (text) track formats. It should simply be
> > renamed to "type" and return a MIME Media Type or null (if unknown).
>
> I agree with your general sentiment, but "type" is not a good choice
> because the attribute indicates the cue format, not a file format
> (even if these are sometimes the same). I have previously suggested to
> call it "cueFormatHint" and assume its values to be filled from some
> common list. This is an orthogonal issue though.
>

I don't know what "cue format" means. I suppose it could be used to type
values returned from the text attribute. I would expect that the cue format
is tied explicitly to the text track content format, and could be deduced
from a combination of a TextTrack.type (that returns the text track MIME
Media Type) and TextTrack.kind.


>
>
> Cheers,
> Silvia.
>
Received on Friday, 26 July 2013 14:40:47 UTC

This archive was generated by hypermail 2.3.1 : Friday, 26 July 2013 14:40:48 UTC