Open cconcolato opened 5 years ago
BBC has similar use cases and I would support work to meet this requirement.
@cconcolato As you point out
one problem being that there are 2 elements with the same xml:id
because the values of xml:id
must be unique.
In general it make sense to have media queries for timed text.
@tairt Just a reminder, but TTML2 already supports media queries via the @condition
attribute. So the question here (for me) is whether there is a barrier to using this existing support for this application (responsive content). There is also a related question about whether to support this TTML2 feature in IMSC.
@skynavga one obvious barrier is that the media queries that need to be supported are not listed in any form, so they aren't really usable in real world applications.
@nigelmegitt well, since CSS (MQ itself) does not specify or make use of any mechanism to describe which MQs are supported, then TTML is no worse off;
My presumption about level of support is that, if an implementation supports #condition-fn-media
, then it must support all syntactic expressions permitted by Media Queries; however, Media Queries does not specify any level of semantic support (or fall-back behavior) for processing MQs. This is something we could potentially address in TTML2 2e (as informative and/or substantive clarifications).
Regarding this specific proposal, it is my opinion that R1 is already supported (by TTML2 at least). However, R2 presents a problem in that we have defined conditions (in 8.2.1) so as to not affect timing decisions:
the timing semantics of a timed element are not ignored;
In order to support R2, I suspect we would need to add support for event based timing, such as found in [SMIL 3.0 5.6.3] (https://www.w3.org/TR/SMIL3/smil-timing.html#q135), a move that would certainly complicate our timing model.
The Timed Text Working Group just discussed Support for Responsive Timed Text tt-reqs#10
, and agreed to the following:
RESOLUTION: We will attempt to meet these requirements in 2019.
I think the main downside of something like Media Queries is that it only applied to the device/browser itself. On the web, at least, you often have the player windows to a portion of the screen and it would be good if we can support that, though, could also happen at a later date like if/when element queries actually ship.
I support the requirements as proposed, but I also would like to note that the concept of "responsive design" goes well beyond the simple issues of text size scaleability and line breaking (as shown in illustrations). Variable fonts (already supported by CSS and all browsers) offer significant benefits here, allowing media queries being used to control text rendering by changing font properties such as width, weight, stylistic alternates, etc. So, I hope that the requirements themselves will be seen in a broader scope of "responsive timed text".
Netflix produces different versions of the same video content with various resolutions and to be displayed on devices with different aspect ratios: portrait aspect ratio (TV, desktop, mobile ) and landscape aspect ratio (mobile devices). Timed text authored for a landscape aspect ratio does not appear correctly when displayed on a portrait aspect ratio device.
Some problems are:
Responsive Web Design is a concept that is common to solve this problem for web pages. Is it based on CSS Media Queries, with dynamic layouts and break points. A similar approach should be applied to TTML and IMSC.
Example: 16x9 reference rendering![16x9-reference](https://user-images.githubusercontent.com/1830314/49917104-a68f9080-fe52-11e8-9acf-278722d4420c.png)
Example: 9x16 rendering issues
font-size= 100% (8 lines)
font-size = 50% (4 lines)
font-size = 25% (2 lines)
R1: It shall be possible to author a single timed text document that adapts to a variety of screen resolutions, aspect ratios, and readability criteria (e.g. language).
R2: It shall be possible for an author to indicate opportunities for splitting an event into multiple events based on presentation context.
3.1 Condition and Media Queries The current problem could be solved as follows, one problem being that there are 2 elements with the same
xml:id
.Another complementary option would be to add markers to the text on where the split of an event is acceptable, maybe with some conditions too:
The result would look like:
font-size=100%, sub-event 1
font-size=100%, sub-event 2