- From: Nigel Megitt <nigel.megitt@bbc.co.uk>
- Date: Thu, 28 Aug 2025 16:16:37 +0000
- To: "public-tt@w3.org" <public-tt@w3.org>
- Message-ID: <55FDE468-320A-43A2-B5D8-D57B652E67A4@bbc.co.uk>
Thanks all for attending today’s TTWG meeting. Minutes can be found in HTML format at https://www.w3.org/2025/08/28-tt-minutes.html
In plain text:
[1]W3C
[1] https://www.w3.org/
Timed Text Working Group Teleconference
28 August 2025
[2]Previous meeting. [3]Agenda. [4]IRC log.
[2] https://www.w3.org/2025/07/31-tt-minutes.html
[3] https://github.com/w3c/ttwg/issues/314
[4] https://www.w3.org/2025/08/28-tt-irc
Attendees
Present
Andreas, Cyril, Dana, Gary, Nigel, Pierre
Regrets
Chris_Needham
Chair
Gary, Nigel
Scribe
nigel
Contents
1. [5]This meeting
2. [6]IMSC 1.3
3. [7]DAPT
4. [8]WebVTT open issues
1. [9]Interop meetings
2. [10]Can ::cue(selector) match a list of webvtt node
objects? w3c/webvtt#533
3. [11]WebVTT should allow pages to modify the caption
display area w3c/webvtt#531
5. [12]TPAC 2025 planning
6. [13]Meeting close
Meeting minutes
This meeting
Nigel: Today: DAPT, IMSC 1.3, WebVTT, TPAC 2025 planning
… Anything else, or points to make sure we cover?
nothing extra
IMSC 1.3
Nigel: We're waiting for Wide Review here.
Pierre: We're only waiting for HR from Accessibility
… The TAG delegated it to internationalisation, who are
satisfied, so they're both closed.
… Privacy and Security, I think were not unhappy, but have not
closed their issue.
… The ones we've not heard from are folks in the accessibility
group.
Gary: Looks like no response on the privacy ticket, only on the
security request.
Pierre: We had requested for a response before Sep 16 so you or
I could ping the privacy folk
… and also remind the accessibility folks.
Nigel: It was assigned 2 weeks ago so someone is looking at it.
Nigel: Feels like a "friendly reminder" message.
Pierre: Yes, we should do that on both privacy and
accessibility
Nigel: I feel like I should do it.
Pierre: Thanks.
Gary: I don't know if you want to close the security request
ticket since it sounds resolved.
Nigel: I've added a message to that ticket asking if okay to
close.
… I've also added friendly reminders to the other two open
tickets
Nigel: Anything else for IMSC?
Pierre: Nothing that I know of.
DAPT
Nigel: Seems like current status is that Atsushi raised HR
issues for the CR snapshot and we're
… waiting for responses.
… They're logged under [14]w3c/dapt#307
… Seems like he did that last week
… I think we're just waiting now.
… Anything else on DAPT?
[14] https://github.com/w3c/dapt/issues/307
Cyril: No, no updates on DAPT
WebVTT open issues
Interop meetings
Gary: I wanted to mention the Interop meetings
Dana: If it would be helpful I can send another email.
… We've had 2 meetings so far.
… Every other Wednesday.
… Next is Sep 10
… Goal is to clean up the test suite enough that we can
eventually be an Interop focus area
… We've been going through the tests all the browsers are
failing
… and identifying test issues.
… Found a few, and raised some issues.
… The first is one that's been open a while, which is 531.
Nigel: A reminder of that interop work might be helpful
<gkatsev> [15]interop webvtt repo
[15] https://github.com/web-platform-tests/interop-webvtt/
Dana: WebVTT was accepted as an Interop investigation area
which means that work is needed
… to fix up the test suite before it can be a focus area.
… We're going through the tests one by one and checking if it
is valid, up to date, and bug free
… We're looking for as many people who are interested to join.
… Next meeting is Sep 10.
Gary: I posted the repo
[16]Details for the next meeting
[16] https://github.com/web-platform-tests/interop-webvtt/issues/11
Dana: Even if someone doesn't have time to go through tests,
they're still welcome to
… go to the meetings and join in on discussions about what to
do about faulty tests
Nigel: Any questions?
Pierre: I maintain ttconv which is a timed text conversion
library.
… Folk have bugged me and provided pull requests to add support
for vertical text in WebVTT,
… and that had not been done originally because the support
levels in players didn't allow for testing.
… Last time someone suggested this and added a pull request
they mentioned that their
… reference player is video.js.
… Is that a good reference? I'm trying to avoid merging
something that turns out not to be valid
… or contains the wrong WebVTT.
Gary: video.js uses the most maintained version of vtt.js and I
believe (not checked recently)
… that it has the correct vertical positioning.
Pierre: Is video.js going to be included in the interop
testing?
Gary: The main focus is the native browser user agents
Pierre: I'm trying to resist the temptation to add something
that works great in video.js
… only to find out that no browser implements it and then we've
done worse.
Gary: That's a downside of the web platform tests vs the
implementation report.
… The WPT is more aimed at browsers, whereas the implementation
report is about "any" implementations at all.
… The first step is what Dana mentioned, figuring out if the
tests are correct.
Pierre: Theoretically you could use ttconv to convert TTML
tests to WebVTT tests but then
… you're introducing another variable.
… There's obviously a need for this but I've been reluctant to
committing something that's bad.
Gary: I'm pretty sure Safari does vertical text correctly,
because I fixed it.
Pierre: Maybe you could add to that issue?
[17]sandflow/ttconv#449
[17] https://github.com/sandflow/ttconv/issues/449
Pierre: Thanks for the wisdom!
Can ::cue(selector) match a list of webvtt node objects?
[18]w3c/webvtt#533
[18] https://github.com/w3c/webvtt/issues/533
github: [19]w3c/webvtt#533
[19] https://github.com/w3c/webvtt/issues/533
Dana: This is about ::cue pseudo element.
… You can add a selector to that as an argument.
… We're finding that all of the browsers are failing the tests
where the selector is * or :root
… When we consult the WebVTT specification we find that it's
ambiguous.
… It's not spelled out if those selectors are supposed to be
supported.
… One idea that I think I agree is to have the only allowed
type selectors be the explicit VTT classes
… like bold, underline, voice, language, ruby text, so we have
a concrete list of type selectors,
… and the universal or root selector wouldn't be supported.
Gary: The issue is that the spec implies that bare text nodes
should be selected, but it's not clear.
… Should the * match those as well as the explicit tags.
… No browser implements selection of the explicit tags without
the text nodes ("internal node objects")
… But whether it should is unclear.
Nigel: What are the use cases?
Dana: It's for styling the internal nodes within the cues, e.g.
make all bold elements green.
… The use case for the * selector is covered by the pseudo
element without the selector argument,
… because that already matches to the cues.
Andreas: Thanks for bringing this up.
… For confirmation, if you have cue text and you want to apply
CSS styles to all of them,
… then you can already do that by using ::cue without a
selector?
nods
Andreas: And the * selector most likely is supposed to do the
same thing?
… But it's ambiguous if it includes text enclosed by tags.
… It's questionable why you should exclude it.
… Why should the * selector give the same results as no
selector?
Gary: Given that it's covered, unclear in the spec and not
implemented, we can remove it
… from the spec and call it a day.
Dana: Would the spec change be to say that the 8 or so type
selectors are the only allowed ones?
Gary: I think that might be the best course of action, to be as
explicit as possible.
Nigel: Are you saying that * selector applies to tagged text
only, or to remove *?
Gary: The first, that it applies to tagged text only.
Nigel: What's the relationship between that and Dana's
suggestion of limiting the set of tags?
… Sounds like an orthogonal issue.
Gary: The spec lists the node objects, which are the untagged
text objects.
… Simon suggested the root element never match. I guess that
would be an alternative,
… to say that internal node objects don't match the * selector.
Andreas: I'm also a bit confused. I thought that your approach
would be to remove the * completely,
… but you're now saying to keep it but make the semantics only
apply to text inside tags?
Gary: Yes, I don't know if we can remove it completely.
Andreas: If it's ambiguous and not properly implemented then
this way is also not properly implemented, right?
… Why are you using this kind of solution?
Nigel: you mean what is the * for at all?
Andreas: Yes, if it's ambiguous and not properly implemented,
why target a specific different meaning?
… What points you to this solution?
… If it's used already and people have a different
interpretation, then some existing WebVTT
… files might then have a different presentation, and users
would not be happy.
Dana: That's a good point. I'm not sure which solution I like
best.
… I'm thinking, in terms of ease of implementation, there could
be a potential problem to have
… the * only apply to internal text and not the root, because
then we have other selectors
… like the id selector that would need to match the root.
Gary: One of the ambiguities is that it says, maybe we used the
terms incorrectly,
… that it matches any internal node object and that includes
both tags with existing names
… and those without explicit names, like times.
… and then it says leaf nodes are not matched, and those
include text or fragments of text.
… There's that ambiguity that fragments seem to be listed as
matchable but then later on it says
… leaf node objects cannot be matched.
Dana: Are you talking about how the spec says in one place that
leaf node objects are separate
… from internal node objects and then later on it says they are
a subset of internal node objects?
Gary: Yeah, I guess this isn't straightforward.
… I think the main question is that in the cue selector it has
a table of things it should be able
… to match and the question is what it means by "other
elements".
… I think we need to review the spec again because it's very
likely that we still need a clarification
… but maybe the spec is clearer than on first reading, and the
tests may not be correct.
Andreas: As a suggestion, you might want to consult the meeting
archives to find a better hint
… on the intent.
Nigel: Good point, why is it written the way it is written?
Dana: I'm curious if we say that a selector matches a leaf node
object, like a text node object,
… is that referring to the text content within a span, which
you cannot style?
… When they said you cannot target the leaf node objects maybe
that's what they're talking about.
Gary: It could be the same as HTML where you cannot target text
but you can target the span that they're in.
Dana: If you can't target that then you target the root.
Gary: Yes, that would be the ::cue
Dana: Another way is to say it matches both the root and any
internal nodes.
Nigel: Another way is to say the * matches on the tag name, and
not on null, so the root would be excluded.
Gary: That's what it seems like it wants to do.
… Then :root would not be allowed as a selector, and * would
not match against :root
Nigel: Why not allow :root?
… From an implementation perspective would you not have the
default selector for ::cue be ::cue(:root)?
Gary: The options are either * and :root are allowed or
explicitly not allowed.
… Since it's also a CSS extension and the implementations are
lacking we can decide to simplify it.
Nigel: What's the next step?
Gary: Immediate next step is to read through the spec again to
exactly understand what it means
… by internal node objects and leaf node objects and see if
there's any history about the intent.
SUMMARY: @danae404 and @gkatsev to re-read the spec about
nodes, and check the archives for history about the intent.
Dana: Are there publicly available notes about the development
of WebVTT spec?
Gary: I think they are, and there's discussion on GitHub.
Andreas: Some of it will be in the text track community group.
There may have been
… some in the WHATWG too so you may have to look at different
sources.
Gary: Some of the old FOMS websites when WebVTT was first
developed have some notes too.
WebVTT should allow pages to modify the caption display area
[20]w3c/webvtt#531
[20] https://github.com/w3c/webvtt/issues/531
Dana: There's no good way to test that WebVTT cues move out of
the way when controls are showing
… because every browser has different default controls. The
spec doesn't state anything about
… where the cue should be so it's up to the implementation to
check where the cue moves to
… when controls show.
… We deleted 3 tests that had arbitrary positioning that didn't
correspond with any real implementation.
… We're hoping to accurately test that cues move out of the way
of controls.
… One way is to expose a pseudo-element for the controls bar so
we can query its location
… and make sure it doesn't overlap with the cue.
TPAC 2025 planning
Nigel: The schedule has been published.
… Typically we create a wiki page for TPAC, for the group.
… I may have taken an action to do that last time.
… The key thing we need is a list of agenda topics.
… It's also useful to know who will be attending.
Andreas: I will be attending, and was thinking about discussing
DVB work that has happened lately.
… 2 years ago we discussed a proposal for signalling subtitles.
… There's now an ETSI publication on that.
… That could be addressed, and some other new developments in
DVB.
… We can check with Chris Needham - it may fit in the joint
meeting with the MEIG,
… but the signalling of the purpose of subtitling could good to
discuss at TPAC.
Nigel: Thank you.
… TPAC must be 9-10 weeks away so now is the time to focus on
this.
Gary: I won't be there in person but the beginning of the
sessions are in my evening and not too
… late so I plan to join remotely.
Nigel: That might affect the ordering of our topics.
… We typically list in person attendees, I will send a link
when I have made it.
Dana: I will be remote too.
Gary: The timezone should be better for you on West Coast than
me.
Dana: I would like to continue discussing WebVTT interop.
Meeting close
Nigel: Thanks all, we're out of time for today. Next meeting is
in 2 weeks, on 2025-09-11.
… [adjourns meeting]
Minutes manually created (not a transcript), formatted by
[21]scribe.perl version 244 (Thu Feb 27 01:23:09 2025 UTC).
[21] https://w3c.github.io/scribe2/scribedoc.html
Received on Thursday, 28 August 2025 16:16:51 UTC