- From: Glenn Adams <glenn@skynav.com>
- Date: Sun, 22 Jun 2014 21:45:48 -0600
- To: Pierre-Anthony Lemieux <pal@sandflow.com>
- Cc: "public-tt@w3.org" <public-tt@w3.org>
- Message-ID: <CACQ=j+c2w2LS7-K45PxAyEdwQYG+D3=X7dbN_U5CqqYiiEqakA@mail.gmail.com>
Do you have a real world example of where conditional content couldn't handle it? In any case, I think we can define a conditional styling mechanism as well as conditional content, and then author can choose the one that makes sense. If you want to define it in IMSC1 as a style attribute that will map to a future conditional style construct in TTML2, then that is fine, but there is no guarantee we will directly support that attribute in TTML2 (as opposed to requiring that the more general mechanism be used). As it is, IMSC1 is likely not going to be a strict subset of either TTML1 or TTML2. On Sun, Jun 22, 2014 at 9:42 PM, Pierre-Anthony Lemieux <pal@sandflow.com> wrote: > > In this example, the conditional content would suffice, since there > > is no layout interaction between the two regions. > > Perhaps, but this cannot be guaranteed to be always the case. > > -- Pierre > > On Sun, Jun 22, 2014 at 8:40 PM, Glenn Adams <glenn@skynav.com> wrote: > > In this example, the conditional content would suffice, since there is no > > layout interaction between the two regions. > > > > > > On Sun, Jun 22, 2014 at 9:31 PM, Pierre-Anthony Lemieux < > pal@sandflow.com> > > wrote: > >> > >> Hi Glenn, > >> > >> Attached is an example inspired from an opening shot from The Muppets > >> (2011) Blu-Ray. > >> > >> The forced subtitle is the translation of the "High School" sign. It > >> appears when French is selected as the language, even if the user has > >> not explicitly selected French subtitles, i.e. when 'forced mode' is > >> true. > >> > >> The translation of the voiceover is not labeled 'forced', and thus > >> shows up only when French subtitles are selected, i.e. 'forced mode' > >> is false. > >> > >> Best, > >> > >> -- Pierre > >> > >> P.S.: in UVVU, 'forced mode'=='true' is called "Alternate Subtitling > >> Presentation Mode" and 'forced mode'=='false' is called "Primary > >> Subtitling Presentation Mode". > >> > >> On Sat, Jun 21, 2014 at 7:17 PM, Glenn Adams <glenn@skynav.com> wrote: > >> > Could you point at or construct a real world example, i.e., images of > >> > what a > >> > mixture of forced and non-forced content looks like depending on > whether > >> > a > >> > forced display parameter is true or false? > >> > > >> > > >> > On Sat, Jun 21, 2014 at 6:56 PM, Pierre-Anthony Lemieux > >> > <pal@sandflow.com> > >> > wrote: > >> >> > >> >> Hi Glenn, > >> >> > >> >> > why would one want it to occupy layout space if not selected? > >> >> > that doesn't make any sense; > >> >> > >> >> The forced content would have been positioned with the non-forced > >> >> content present. Simply removing the non-forced content from flow > >> >> would potentially change the rendered position of the forced content. > >> >> > >> >> I will confirm this. > >> >> > >> >> Best, > >> >> > >> >> -- Pierre > >> >> > >> >> On Sat, Jun 21, 2014 at 5:50 PM, Glenn Adams <glenn@skynav.com> > wrote: > >> >> > > >> >> > On Sat, Jun 21, 2014 at 6:43 PM, Pierre-Anthony Lemieux > >> >> > <pal@sandflow.com> > >> >> > wrote: > >> >> >> > >> >> >> Hi Glenn, > >> >> >> > >> >> >> Thanks for these initial thoughts. > >> >> >> > >> >> >> > 3. evaluating this sub-tree in a postorder traversal, prune > >> >> >> > elements > >> >> >> > if they are not a content element, if they have a condition > >> >> >> > attribute > >> >> >> > that evaluates to false, > >> >> >> > >> >> >> "Forced" does not remove the content element from layout and flow, > >> >> >> but > >> >> >> instead > >> >> >> effectively sets the visibility to zero, like > >> >> >> tts:visibility="hidden". > >> >> > > >> >> > > >> >> > it should; why would one want it to occupy layout space if not > >> >> > selected? > >> >> > that doesn't make any sense; > >> >> > > >> >> > i don't see how to handle conditional content and conditional > >> >> > visibility; i > >> >> > think the best you will get is the former > >> >> > > >> >> >> > >> >> >> > >> >> >> Best, > >> >> >> > >> >> >> -- Pierre > >> >> >> > >> >> >> On Sat, Jun 21, 2014 at 5:38 PM, Glenn Adams <glenn@skynav.com> > >> >> >> wrote: > >> >> >> > > >> >> >> > > >> >> >> > On Sat, Jun 21, 2014 at 6:07 PM, Pierre-Anthony Lemieux > >> >> >> > <pal@sandflow.com> > >> >> >> > wrote: > >> >> >> >> > >> >> >> >> > What do you mean by "application" in this context? > >> >> >> >> > >> >> >> >> The entity that is instructing the presentation processor to > >> >> >> >> render > >> >> >> >> the IMSC document. > >> >> >> >> > >> >> >> >> > I also don't know what parameter means in this context, > >> >> >> >> > e.g., what does it mean vis-a-vis a TTML parameter, i.e., > >> >> >> >> > an attribute expressing a TTML parameter. > >> >> >> >> > >> >> >> >> It is not a TTML parameter, as in a ttp:*, but instead a state > >> >> >> >> variable passed to the presentation processor instructing it to > >> >> >> >> render > >> >> >> >> or not non-forced content, like a function argument in a > >> >> >> >> procedural > >> >> >> >> language. > >> >> >> >> > >> >> >> >> > I am opposed to a one-off solution to a special case of the > >> >> >> >> > conditional > >> >> >> >> > content problem. And the forcedDisplay feature is exactly > such > >> >> >> >> > a > >> >> >> >> > special case. > >> >> >> >> > >> >> >> >> Can you think of a generic solution that would reduce to a > single > >> >> >> >> attribute controlling the rendering of forced content? If so, > we > >> >> >> >> could > >> >> >> >> consider using it in IMSC. > >> >> >> > > >> >> >> > > >> >> >> > I haven't given it much thought, but if we were to introduce as > >> >> >> > the > >> >> >> > general > >> >> >> > mechanism a new element type: > >> >> >> > > >> >> >> > <tt:switch condition="expression"> > >> >> >> > ... content elements ... > >> >> >> > </tt:switch> > >> >> >> > > >> >> >> > then we could also, or as an alternative, introduce an attribute > >> >> >> > @condition > >> >> >> > on content element vocabulary, e.g., > >> >> >> > > >> >> >> > <div condition="expression"/> > >> >> >> > > >> >> >> > where expression uses a simple expression language such as media > >> >> >> > queries > >> >> >> > level 4 [1] or a derivative. > >> >> >> > > >> >> >> > [1] http://dev.w3.org/csswg/mediaqueries4/ > >> >> >> > > >> >> >> > For example, > >> >> >> > > >> >> >> > <p condition="(forced)"/> > >> >> >> > > >> >> >> > <p condition="not (forced)"/> > >> >> >> > > >> >> >> > <p condition="(locale: en)"/> > >> >> >> > > >> >> >> > <p condition="not (locale: en)"/> > >> >> >> > > >> >> >> > <p condition="(forced) or not (locale: en)"/> > >> >> >> > > >> >> >> > ... > >> >> >> > > >> >> >> > Where the semantics of @condition is essentially changing step 3 > >> >> >> > of > >> >> >> > 9.3.3 > >> >> >> > [construct intermediate document] to read essentially as > follows: > >> >> >> > > >> >> >> > 3. evaluating this sub-tree in a postorder traversal, prune > >> >> >> > elements > >> >> >> > if > >> >> >> > they > >> >> >> > are not a content element, if they have a condition attribute > that > >> >> >> > evaluates > >> >> >> > to false, if they are temporally inactive, if they are empty, or > >> >> >> > if > >> >> >> > they > >> >> >> > aren't associated with region R according to the [associate > >> >> >> > region] > >> >> >> > procedure; > >> >> >> > > >> >> >> >> > >> >> >> >> > >> >> >> >> Thanks, > >> >> >> >> > >> >> >> >> -- Pierre > >> >> >> >> > >> >> >> >> On Fri, Jun 20, 2014 at 10:56 PM, Glenn Adams < > glenn@skynav.com> > >> >> >> >> wrote: > >> >> >> >> > > >> >> >> >> > On Fri, Jun 20, 2014 at 10:33 PM, Pierre-Anthony Lemieux > >> >> >> >> > <pal@sandflow.com> > >> >> >> >> > wrote: > >> >> >> >> >> > >> >> >> >> >> Hi Glenn, > >> >> >> >> >> > >> >> >> >> >> Thanks for the feedback. > >> >> >> >> >> > >> >> >> >> >> > no, [forcedDisplayModeParameter] should not be a > parameter, > >> >> >> >> >> > in > >> >> >> >> >> > which > >> >> >> >> >> > it would go into some > >> >> >> >> >> > parameter namespace, but should be a metadata attribute, > >> >> >> >> >> > ittm:forcedDisplay > >> >> >> >> >> > >> >> >> >> >> forcedDisplayModeParameter != itts:forcedDisplay. > >> >> >> >> >> forcedDisplayModeParameter would be a parameter passed by > the > >> >> >> >> >> application to the processor, not a parameter within the > >> >> >> >> >> document. > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > What do you mean by "application" in this context? I also > don't > >> >> >> >> > know > >> >> >> >> > what > >> >> >> >> > parameter means in this context, e.g., what does it mean > >> >> >> >> > vis-a-vis > >> >> >> >> > a > >> >> >> >> > TTML > >> >> >> >> > parameter, i.e., an attribute expressing a TTML parameter. > >> >> >> >> > > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > in other words, TTML will remain silent on any > presentation > >> >> >> >> >> > semantics > >> >> >> >> >> > of > >> >> >> >> >> > such an attribute; > >> >> >> >> >> > >> >> >> >> >> How would interoperability be achieved? > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > By defining a standard mechanism for expressing conditional > >> >> >> >> > content > >> >> >> >> > contingent on external processor state, e.g., selected > >> >> >> >> > language, > >> >> >> >> > whether > >> >> >> >> > display of some content is forced or not, etc. > >> >> >> >> > > >> >> >> >> > I am opposed to a one-off solution to a special case of the > >> >> >> >> > conditional > >> >> >> >> > content problem. And the forcedDisplay feature is exactly > such > >> >> >> >> > a > >> >> >> >> > special > >> >> >> >> > case. > >> >> >> >> > > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> Thanks, > >> >> >> >> >> > >> >> >> >> >> -- Pierre > >> >> >> >> >> > >> >> >> >> >> On Fri, Jun 20, 2014 at 8:58 PM, Glenn Adams > >> >> >> >> >> <glenn@skynav.com> > >> >> >> >> >> wrote: > >> >> >> >> >> > > >> >> >> >> >> > On Fri, Jun 20, 2014 at 7:05 PM, Pierre-Anthony Lemieux > >> >> >> >> >> > <pal@sandflow.com> > >> >> >> >> >> > wrote: > >> >> >> >> >> >> > >> >> >> >> >> >> Hi all, > >> >> >> >> >> >> > >> >> >> >> >> >> During our last call, I noted two concerns with the > >> >> >> >> >> >> itts:forcedDisplay > >> >> >> >> >> >> feature as currently drafted. > >> >> >> >> >> >> > >> >> >> >> >> >> (a) the semantics of the itts:forcedDisplay feature are > not > >> >> >> >> >> >> sufficiently specified > >> >> >> >> >> >> (b) the representation of itts:forcedDisplay as an > >> >> >> >> >> >> attribute > >> >> >> >> >> >> is > >> >> >> >> >> >> not > >> >> >> >> >> >> desirable > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > that should read as a style attribute > >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> To address (a), below is proposed prose: > >> >> >> >> >> >> > >> >> >> >> >> >> """ > >> >> >> >> >> >> The presentation processor SHALL accept an optional > boolean > >> >> >> >> >> >> parameter > >> >> >> >> >> >> called forcedDisplayModeParameter, whose value may be set > >> >> >> >> >> >> by > >> >> >> >> >> >> the > >> >> >> >> >> >> application. If not set, the value of > >> >> >> >> >> >> forcedDisplayModeParameter > >> >> >> >> >> >> shall > >> >> >> >> >> >> be assumed to be equal to "false". > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > no, it should not be a parameter, in which it would go > into > >> >> >> >> >> > some > >> >> >> >> >> > parameter > >> >> >> >> >> > namespace, but should be a metadata attribute, > >> >> >> >> >> > ittm:forcedDisplay > >> >> >> >> >> > > >> >> >> >> >> > i'm not sure why you wish to lengthen the name > unnecessarily > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> If the value of forcedDisplayModeParameter is "true", a > >> >> >> >> >> >> content > >> >> >> >> >> >> element with a itts:forcedDisplay computed value of > "false" > >> >> >> >> >> >> shall > >> >> >> >> >> >> be > >> >> >> >> >> >> assumed to have a tts:visibility computed value equal to > >> >> >> >> >> >> "hidden", > >> >> >> >> >> >> even if tts:visibility is otherwise set to "true". > >> >> >> >> >> >> """ > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > now, this is again placing style/presentation semantics on > >> >> >> >> >> > this > >> >> >> >> >> > metadata > >> >> >> >> >> > attribute, which is inapropriate > >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> The idea is to essentially ignore the itts:forcedDisplay > >> >> >> >> >> >> attribute > >> >> >> >> >> >> unless otherwise specifically requested by the > application. > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > i'm not sure what "requested by the application" means > here > >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> This also > >> >> >> >> >> >> clarifies that itts:forcedDisplay has "no effect on > content > >> >> >> >> >> >> layout > >> >> >> >> >> >> or > >> >> >> >> >> >> composition, but merely determines whether composed > content > >> >> >> >> >> >> is > >> >> >> >> >> >> visible > >> >> >> >> >> >> or not." > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > if that is the purpose, then the tts:visibility property > >> >> >> >> >> > should > >> >> >> >> >> > be > >> >> >> >> >> > used > >> >> >> >> >> > and > >> >> >> >> >> > therefore there is no need for a new forcedDisplay > attribute > >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> As next step, I plan to create examples. > >> >> >> >> >> >> > >> >> >> >> >> >> Re: (b), I am not comfortable rejecting a solution that > >> >> >> >> >> >> users > >> >> >> >> >> >> have > >> >> >> >> >> >> devised and implemented based on actual use cases and in > >> >> >> >> >> >> the > >> >> >> >> >> >> absence > >> >> >> >> >> >> of specific guidance and/or prohibition in TTML 1.0. > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > if those users expect that the TTWG would simply adopt a > >> >> >> >> >> > solution > >> >> >> >> >> > as > >> >> >> >> >> > a > >> >> >> >> >> > fait > >> >> >> >> >> > accompli, then they are naive; an appropriate process > would > >> >> >> >> >> > have > >> >> >> >> >> > been > >> >> >> >> >> > to > >> >> >> >> >> > bring use cases and requirements to the TTWG first, not > >> >> >> >> >> > bring a > >> >> >> >> >> > solution > >> >> >> >> >> > as > >> >> >> >> >> > a given > >> >> >> >> >> > > >> >> >> >> >> > at this point, I think the best that can be hoped for IMSC > >> >> >> >> >> > is > >> >> >> >> >> > to > >> >> >> >> >> > define > >> >> >> >> >> > a > >> >> >> >> >> > metadata attribute ittm:forcedDisplay which is described > as > >> >> >> >> >> > a > >> >> >> >> >> > hint > >> >> >> >> >> > that > >> >> >> >> >> > the > >> >> >> >> >> > associated content is intended to be selected as a > candidate > >> >> >> >> >> > for > >> >> >> >> >> > display > >> >> >> >> >> > by > >> >> >> >> >> > a higher level protocol (outside the scope of formally > >> >> >> >> >> > defined > >> >> >> >> >> > TTML > >> >> >> >> >> > processing); in other words, TTML will remain silent on > any > >> >> >> >> >> > presentation > >> >> >> >> >> > semantics of such an attribute; > >> >> >> >> >> > > >> >> >> >> >> > on the other hand, we may choose in TTML2 to define a > >> >> >> >> >> > conditional > >> >> >> >> >> > content > >> >> >> >> >> > mechanism similar to the SMIL or SVG switch element, that > >> >> >> >> >> > could > >> >> >> >> >> > address > >> >> >> >> >> > this > >> >> >> >> >> > use case > >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> Best, > >> >> >> >> >> >> > >> >> >> >> >> >> -- Pierre > >> >> >> >> >> >> > >> >> >> >> >> > > >> >> >> >> > > >> >> >> >> > > >> >> >> > > >> >> >> > > >> >> > > >> >> > > >> > > >> > > > > > >
Received on Monday, 23 June 2014 03:46:39 UTC