- From: Timed Text Working Group Issue Tracker <sysbot+tracker@w3.org>
- Date: Tue, 26 Aug 2014 17:12:04 +0000
- To: public-tt@w3.org
ISSUE-338: inconsistent implicit duration of singleton span in sequential container [TTML 1.0]
http://www.w3.org/AudioVideo/TT/tracker/issues/338
Raised by: Glenn Adams
On product: TTML 1.0
The implicit duration of an anonymous span child of a sequential container is explicitly defined to be zero (section 10.4); however, the implicit duration of an explicit singleton (i.e., non-nested) span in the same context
Here is an example, where I ignore whitespace to aid in viewing. Given a fragment:
<p timeContainer="seq">
Foo
<span>Bar</span>
Baz
</p>
Generating anonymous spans to wrap text nodes:
<p timeContainer="seq">
<span xml:id="anon1">Foo</span>
<span>
<span xml:id="anon2">Bar</span>
</span>
<span xml:id="anon3">Baz</span>
</p>
Applying timing semantics as presently defined to resolve implicit duration:
<p timeContainer="seq" durImplicit="indefinite">
<span xml:id="anon1" durImplicit="0">Foo</span>
<span durImplicit="indefinite">
<span xml:id="anon2" durImplicit="indefinite">Bar</span>
</span>
<span xml:id="anon3" durImplicit="0">Baz</span>
</p>
Here, anon2 is assigned an indefinite implicit duration because its parent is an explicit span which defaults to 'par' time containment semantics. Since SMIL requires a seq container that contains an indefinite duration child to also be indefinite, then that indefinite propagates up the node tree.
This seems counterintuitive. I propose to resolve by a slight change in 10.4 from the current text:
"if the anonymous span's parent time container is a parallel time container, then the implicit duration is equivalent to the indefinite duration value as defined by [SMIL 2.1]; if the anonymous span's parent time container is a sequential time container, then the implicit duration is equivalent to zero"
to read:
"if the anonymous span's nearest explicit time container ancestor is a sequential time container, then the implicit duration is equivalent to zero; otherwise, it is equivalent to the indefinite duration value as defined by [SMIL 2.1]"
and add the following Note
"Note: An element is an explicit time container if it specifies a timeContainer attribute."
Reworking the above example with the new text, we get:
<p timeContainer="seq" durImplicit="0">
<span xml:id="anon1" durImplicit="0">Foo</span>
<span durImplicit="0">
<span xml:id="anon2" durImplicit="0">Bar</span>
</span>
<span xml:id="anon3" durImplicit="0">Baz</span>
</p>
The resolution of this issue also needs applied to TTML2.
Received on Tuesday, 26 August 2014 17:12:04 UTC