- From: Glenn Adams <glenn@skynav.com>
- Date: Sat, 21 Jun 2014 20:30:21 -0600
- To: Pierre-Anthony Lemieux <pal@sandflow.com>
- Cc: "public-tt@w3.org" <public-tt@w3.org>
- Message-ID: <CACQ=j+dS89xb96yWVcxQiNw38DC8O0wX56OgE+i5Gphz6vL9ww@mail.gmail.com>
On Sat, Jun 21, 2014 at 7:32 PM, Pierre-Anthony Lemieux <pal@sandflow.com> wrote: > I have confirmed that the intent is tts:visibility="hidden". > > Why would this be a problem? > I suppose we could also make @condition apply to the set element in order to conditionally apply a style based on a condition expression, e.g., <p tts:visibility="hidden"> <set condition="(forced)" tts:visibility="visible"/> Forced Content </p> > > -- Pierre > > > On Sat, Jun 21, 2014 at 5: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 Sunday, 22 June 2014 02:31:10 UTC