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