07:24:49 RRSAgent has joined #tt 07:24:53 logging to https://www.w3.org/2023/09/12-tt-irc 07:24:53 RRSAgent, make logs Public 07:24:54 Meeting: Timed Text Working Group Teleconference 07:26:25 Present: Andreas, Nigel, Atsushi 07:26:34 Chair: Nigel 07:26:36 scribe: nigel 07:27:39 Previous meeting: https://www.w3.org/2023/08/31-tt-minutes.html 07:31:25 atsushi has joined #tt 07:32:08 Topic: Welcome, Agenda etc 07:32:23 present+ 07:32:28 Evan_Liu has joined #tt 07:32:30 tidoust has joined #tt 07:32:38 present+ Francois_Daoust 07:32:40 atai has joined #tt 07:34:27 Nigel: Welcome everyone to TTWG at TPAC 2023. 07:35:28 .. [introduces people in the room] 07:35:33 Xiaohan_ has joined #tt 07:35:56 .. Agenda for today: 07:36:01 Present+ 07:36:17 .. Any reflections from yesterday's joint meeting with MEIG, and planning for Thursday's joint meeting 07:36:28 .. with MEIG and APA. 07:36:33 .. [iterates through agenda] 07:36:51 Agenda: https://github.com/w3c/ttwg/issues/262 07:42:49 Nigel: Any other business, or points to make sure we cover? 07:44:36 Evan: Is anyone working on adding spec feature to WebVTT for audio description? 07:44:58 Nigel: Not as far as i know - I know Apple did a TTS implementation using it, 07:45:03 MattS has joined #tt 07:45:33 .. but there are no proposals for any changes to the spec, e.g. to support SSML, voice selection etc. 07:45:38 .. As far as I know! 07:45:56 .. And it doesn't seem like anyone wants to use it to play back pre-recorded audio, it's TTS only. 07:46:09 Evan: We've done some prototyping in Chrome 07:46:13 Present+ Matt 07:47:12 Nigel: Just a reminder at the beginning of the session. 07:47:34 .. As always our work is done a friendly professional way, as per the code of conduct 07:47:50 -> https://www.w3.org/Consortium/cepc/ W3C code of conduct (CEPC) 07:48:30 Topic: Reflections from Monday's MEIG joint meeting 07:49:06 -> https://www.w3.org/2023/09/11-me-minutes.html Draft Media & Entertainment IG minutes 07:49:26 Nigel: We covered the IMSC-HRM and DAPT, and had an intro from Eric about 07:49:35 .. the TextTrackCue proposal they will make later today. 07:49:54 .. Any observations? (there don't have to be!) 07:50:01 q+ 07:50:05 ack at 07:50:16 Andreas: 2 things that come to mind. 07:50:31 .. 1st, the presentation from Fraunhofer about CTA Wave tests 07:50:45 .. We observed that they need tests for subtitles and test content 07:50:53 .. They're testing device capabilities. 07:51:07 .. Subtitles are left out but they plan an iteration to add subtitles 07:51:22 .. Should we actively approach CTA Wave and offer our help? 07:51:35 Nigel: What sort of help might we offer? 07:51:51 Andreas: For the Media API snapshot, defining a baseline of what should be supported in browsers, 07:51:55 .. maybe more WebVTT related. 07:52:11 .. The other is about test content, what parameters, vectors to test, we could help with. 07:52:36 tidoust: It was surprising that they didn't mention WebVTT or TTML 07:52:56 .. In my understanding the TTML tests are not in WPT. To run them, how do you do that? 07:53:10 .. The work they had to do was to adjust the test runner to work on TV sets. 07:53:16 Andreas: I don't know 07:53:27 tidoust: Someone has to do the work and make a test runner work on TVs 07:53:51 Nigel: The IMSC and TTML tests are static resources, including test documents and 07:54:05 .. for presentation tests, reference renders. 07:54:33 .. The imscjs library includes a test runner - it brings in the tests and generates renders from them. 07:56:23 .. And then diffs the renders against the references. 07:56:54 q+ 07:56:56 tidoust: The Web Media API doesn't include TTML because that's not directly referenced and used in browsers. 07:57:22 Atsushi: WebVTT tests are in WPT. 07:57:40 tidoust: Right, but CTA WAVE might not be interested in the TTML tests. 07:59:01 Nigel: CTA is interested in client side stuff, and ATSC 3 and CMAF defines IMSC as the subtitle format 07:59:05 .. so they should be interested! 07:59:24 tidoust: Yes, just specifically related to web media API, it would not be in scope. 07:59:26 ack at 07:59:45 Andreas: That was my recollection, I was not sure if TTML was in our out of scope. 07:59:53 .. We can ask CTA Wave how this could fit. 08:00:07 .. Testing it for smart TVs should be in scope of CTA's work. 08:00:47 tidoust: Web Media API is a list of specs that the main core browser engines support, 08:01:00 .. and therefore browsers in TV sets must support. 08:01:08 q+ 08:01:21 .. It's a "baseline" published once every year for the last 5 or 6 years. 08:01:39 .. Once in a while they add exceptions to say particular features do not necessarily need to be supported. 08:02:07 -> https://www.w3.org/2022/12/webmediaapi.html Web Media API Snapshot 2022 08:03:01 Nigel: Observation: Smart TV manufacturers are required to support TTML subtitles by ATSC 3, HbbTV etc 08:03:42 .. so they're getting conflicting messages from W3C and elsewhere. 08:03:49 tidoust: Yes, the Media API only lists what is commonly supported in browsers, so although 08:04:03 .. they do have those requirements they aren't part of the common web requirements. 08:05:23 Andreas: Maybe it needs a rethink. There's a tendency to support some technologies by polyfills. 08:05:23 .. We can ask our WAVE colleagues how to deal with that and how TTML should fit in this picture. 08:05:28 Xiaohan_: Is TTML relatively new? 08:05:53 Nigel: No, it's been a Rec since 2010. 08:06:01 Evan_Liu: Is that the one with multiple versions? 08:06:11 Nigel: No, that's TTML1, that's the base spec. 08:08:52 .. TTML2 adds a lot of features for global script layout. 08:09:15 q+ 08:09:22 .. IMSC has 3 versions, first rec in 2016. 08:09:38 Xiaohan_: If you want IMSC implemented in browsers then I can talk to the team. 08:09:51 .. It's a chicken and egg problem - we need to know people want to use it too. 08:10:29 Nigel: BBC and Netflix use it a lot. 08:10:48 Andreas: It's widely used for high quality requirements, including speaker identifiers and other features. 08:10:59 .. It's used a lot, often with polyfills that implement IMSC. 08:11:08 .. Native support would be beneficial, and we talked about it in the past. 08:11:21 .. Possibly we can talk about it later on when Eric and Marcos present the TextTrackCue proposal.. 08:11:31 Xiaohan_: It's supported now by TVs or cinema? 08:11:52 Andreas: There are standards that mandate support such as ATSC 3, HbbTV. 08:12:38 Nigel: By the way, you can upload IMSC to YouTube, and Exoplayer plays them back, so it's already in some Google products. 08:12:46 Evan_Liu: Is it better in every way than WebVTT? 08:14:14 q+ 08:16:17 Nigel: [attempts to give a balanced answer] It depends on the user group, I would say yes, but that's from 08:16:35 .. an enterprise perspective for the BBC. However for some users wanting to quickly type a subtitle file, 08:17:00 .. WebVTT is much more forgiving of errors. However the implementations focus on lowest common 08:17:15 .. denominator for WebVTT, so bottom centre white subtitles are fine, but not all the other options. 08:17:30 .. And that's not really good enough. Also WebVTT can't do rubys and text decorations and some other 08:17:36 .. detailed rendering features that are important. 08:17:56 Xiaohan_: A resource showing the differences and the advantages of supporting IMSC would be helpful. 08:17:59 ack atai 08:18:13 Andreas: It's also important to be aware of the history of the development. We have 2 formats that 08:18:36 .. want to solve the same problem. TTML predates WebVTT, but some W3C stakeholders stepped away 08:18:55 .. from XML, founded WHATWG, and in that step also moved WebVTT there initially, when TTML 08:19:15 .. was close to Rec. Now we have these two formats. Which is the better is as Nigel said, in the eye of the beholder. 08:19:35 .. For TTML, a lot of requirements are supported, for different stakeholders. 08:19:48 .. The issue at the moment is that some of the bigger companies can afford to build their own 08:20:02 .. renderers for TTML to meet all the quality features, but a lot of people just use what is natively 08:20:45 .. supported in the browser, WebVTT, which is not sufficient, so we see a lot of degradation in the 08:20:45 .. quality experience for the audience. For example a lot of German broadcasters use WebVTT for 08:21:17 .. browsers but don't use colour, which is required for speaker identification. 08:21:17 Evan_Liu: Do a lot of big broadcasters use TTML then? 08:23:57 Nigel: I don't have survey results, but when you look at the standards landscape that broadcasters use 08:24:42 .. it's dominated by IMSC or the EBU subset of IMSC, EBU-TT-D. WebVTT is at best an optional "also". 08:25:20 Evan_Liu: When we look at usage for WebVTT it is very low so it is hard to justify spending time 08:25:24 .. improving support for it. 08:25:47 tidoust: Even some renderers of IMSC would use VTTCue to schedule timing, so you might not even be 08:25:54 .. able to tell if the subtitles were WebVTT. 08:25:58 q+ 08:26:18 Nigel: If you can measure usage of the element that would do it. 08:26:41 Evan_Liu: It looks like 0.15% of all WebVTT scripts include embedded styling, so nobody is using it, 08:26:55 .. maybe because it isn't used in other browsers, even though it's in the spec, and Chrome has supported 08:26:58 .. it for 4 years. 08:27:01 Q+ 08:27:43 Xiaohan_: do the big VOD players use WebVTT? 08:28:03 Nigel: I don't think so, even YouTube doesn't use it. 08:28:22 Evan_Liu: That's right, there are features that are needed that aren't supported, and some 08:28:39 .. users want vertical text, like for Japanese, which isn't in WebVTT. 08:28:42 Nigel: It is in IMSC! 08:28:46 q? 08:28:52 ack atai 08:29:12 Andreas: Comment to Francois: polyfills must use VTTCue because the generic TextTrackCue 08:29:24 .. is not implemented. Only VTTCue can be constructed. 08:29:50 .. Regarding the style blocks, it's relatively recent to use them in WebVTT especially in an embedding context. 08:30:05 .. It's not used because browsers don't support it enough. People try it out, see it doesn't work, 08:30:16 .. then revert to using WebVTT like SRT, just timecode and text. 08:30:21 ack MattS 08:30:37 MattS: Background if it's of use. Our approach is to revert to WebVTT more than I would hope because 08:30:48 .. as Nigel said earlier, lowest common denominator is applicable. 08:31:05 .. It works well enough on connected TVs even with some styling information. 08:31:41 .. We had difficulty with some TTML formats. 08:31:41 .. We had difficulty using one format all the way through. It's just not posssible. 08:31:45 .. Even when there is support between formats, there is a lack of fidelity in the contents of the file, 08:31:51 .. so what you put in isn't what you get out. 08:32:10 .. We lack good bodies of test material so developers can check they're propagating all the features 08:32:17 .. needed from beginning to end of the chain. 08:32:23 q? 08:32:52 .. That's for ITV in the UK, which is also ITV Studios globally. We're a public service broadcaster in the UK 08:33:08 .. and a fairly large creator of TV content, and our own streaming platform ITVX. Anything we try to 08:33:43 .. do globally is broken by these challenges. We have to be more tactical than I would like.. 08:33:43 q? 08:34:33 Nigel: I would love to encourage TTML support in browsers. It would really help a lot of stakeholders and users. 08:34:51 Xiaohan_: It would be great to have better explanatory materials to explain why we should spend the effort 08:35:11 .. on it. If we implement it and then nobody uses it would not be a good story. 08:35:30 tidoust: One aspect of this is to meet regulatory requirements in some regions. 08:36:50 Nigel: Xiaohan_ if there's anything I can do to support you in having that conversation, let's talk about it. 08:37:37 Andreas: One other topic from MEIG. The comment about all the profiles and formats. 08:37:53 .. Yesterday tidoust asked about the profiles of TTML. Possibly we need a short explainer. 08:38:08 .. I think we may have a list of the profiles, but it may not be clear enough. Usually we get questions 08:38:22 .. about the relationships between different formats. Maybe we should work on a document and a 08:38:32 .. visualisation of that so it's clearer. 08:40:04 Nigel: Maybe a WG Note with backing across the two communities could help, being sensitive to 08:40:43 .. not wanting to be antagonistic to any one community. 08:40:43 Andreas: Having a clear picture for those outside the community would be very helpful in answering 08:40:43 .. the questions, which are always very similar. 08:43:30 Present+ Javier_(Igalia) 08:43:41 rrsagent, make minutes 08:43:42 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 08:45:22 Xiaohan_: If I were writing a document like that I'd want to know the difference from the user 08:45:40 .. perspective as well as the broadcaster perspective, and what the differences are. 08:45:54 .. Some recommendation about what browsers should do would be helpful. 08:46:12 .. As you can see, even though Evan is owning this in Chromium, we're a bit clueless, and there's a 08:47:07 .. disconnection between this WG and our team. 08:47:29 Nigel: You're welcome to join, I think things may have improved since last time Google folk were involved. 08:48:27 .. Moving on to planning for Thursday's joint meeting with MEIG and APA. 08:48:34 -> https://github.com/w3c/media-and-entertainment/issues/95#issuecomment-1580622323 Agenda for that meeting 08:53:13 Nigel: [iterates through the agenda] 08:53:28 .. From a TTWG perspective, I'm not sure which things will affect us. 08:53:41 .. The SSML in DAPT and HTML one will be especially interesting. 08:54:05 .. It's directly relevant as we think about how to manage potential additional SSML vocabulary via TTML, 08:54:10 .. or if we can mix in directly. 08:54:15 q? 08:54:38 .. Anything anyone wants to mention/ask/make sure we cover in Thursday's joint meeting? 08:55:05 Andreas: I will present the work based on DVB's liaison today but this will possibly also affect APA, 08:55:10 .. but I will not be able to be present on Thursday. 08:55:22 .. Can we make sure we raise it on Thursday? 08:55:30 Nigel: Yes that's an important point, will do. 08:56:44 Topic: Break 08:57:01 Nigel: Let's break now until 1130. 08:57:08 rrsagent, make minutes 08:57:09 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 09:26:53 tidoust has joined #tt 09:32:22 Topic: HDR in PNG document updates 09:35:25 -> https://www.w3.org/TR/png-hdr-pq/ Using the ITU BT.2100 PQ EOTF with the PNG Format 09:35:42 Nigel: This was a WG Note from 2017 back from the time when we needed to support image based 09:35:57 .. subtitles in IMSC Image Profile but PNG did not have native support for HDR. 09:36:23 Github: https://github.com/w3c/png-hdr-pq/issues/12 09:36:50 Nigel: Chris Lilley raised this issue because over the years things have changed and this approach 09:36:50 .. now appears to have problems. 09:37:22 Present+ Eric_Carlson 09:37:36 eric_carlson has joined #tt 09:37:43 i/Topic/[tidoust leaves] 09:43:49 Nigel: [reviews changes in the related pull request] 09:43:49 Nigel: Correct to say that there are no other comments for now from TTWG? 09:44:20 .. I see that this has had review from Cyril Concolato, Chris Needham, Pierre Lemieux. 09:44:20 no comments from the group 09:44:25 SUMMARY: TTWG appears to be happy with this change. 09:46:52 .. I've approved the pull request. 09:46:52 github-bot, end topic 09:48:37 Topic: Liaison from DVB regarding accessibility services 09:49:04 Nigel: We received an incoming liaison from DVB, visible to members at https://lists.w3.org/Archives/Member/member-tt/2023Sep/0002.html 09:49:26 .. Andreas, I think you're able to discuss this? 09:49:54 Andreas: shows slides 09:50:19 -> ATSLIDEURL Andreas's slides 09:50:32 Andreas: DVB has two standards soon to be updated, DVB-I and TV-Anytime. 09:50:47 .. They are planning to consolidate and extend the signalling 09:51:12 .. This presentation shows the generic content, but IPR issues mean we will not be able to minute 09:51:15 .. discussions later. 09:51:25 [slide 2] 09:51:49 Andreas: DVB-I allows clients to seamlessly switch between broadcast and IP services. 09:52:04 .. It's a metadata specification and system architecture that enables implementation of clientss. 09:52:20 .. The main work is in ETSI TS 103 770, which has had one version published. 09:52:29 .. The update is planned to be finalized this year. 09:52:33 [slide 3] 09:52:49 Andreas: TV Anytime is ETSI TS 102 833-2-1 and is a metadata specification 09:53:00 .. for supporting search, select and use of TV content 09:53:39 .. It has limited capability to signal access services. 09:53:39 [slide 4] 09:53:47 Evan_Liu has joined #tt 09:54:21 Andreas: One driver for change is EU 2019/882 also known as the European Accessibility Act (EEA) 09:54:21 .. which mandates access to accessible access to AV media services. 09:54:21 .. It will be enforced by June 2025. 09:54:26 .. DVB wants to update their specification because of this too. 09:54:34 .. The proposed approach is intended to harmonize this. 09:55:17 .. There was no standard way to signal accessibility services provided by apps esp HbbTV apps. 09:55:17 [slide 5] 09:55:33 Andreas: Updating and harmonizing AD, subtitling, dialogue enhancement, siggning. 09:55:47 .. For subtitling, need to enhance the purpose and type signalling. 09:55:49 [slide 6] 09:56:12 Andreas: New HbbTV signalling capabilities for apps. 09:56:15 [slide 7] 09:56:28 Andreas: Both specs will include work on accessibility signalling. 09:56:36 .. Expected to influence other DVB specs than DVB-I in the long term. 09:56:48 .. Advantage for client implementers is consistency of signalling. 09:56:58 .. Feedback requested to liaison by October 2nd. 09:57:17 .. Want to make sure we don't break anything, either implemented or best practices. 09:57:22 [slide 8] 09:57:54 Andreas: The chair of the DVB-I group is Paul Higgs from Huawei. 09:58:08 .. Before I go into more details on the value list, any questions on the scope of that work? 09:59:19 Nigel: There's already a list of purposes in the DVB TTML specification. Are they reusing that or wanting 09:59:21 .. to change it? 09:59:37 Andreas: Maybe a question for the detailed discussion. 09:59:55 .. Worth noting that non-broadcast clients can access DVB-I services. 10:00:32 .. There's an HTML5 reference application for DVB-I. 10:00:47 .. So this applies more broadly on the web. 10:01:04 eric_carlson: This is meant to be a signal sent along with the content describing the accessibility characteristics of the content? 10:01:14 Andreas: It's not distributed with the content at playout. 10:01:35 .. It's ahead of that, a registry that tells clients what accessibility characteristics they could expect alongside 10:01:41 .. any particular stream or service. 10:01:49 .. It allows the client to select the most appropriate services. 10:02:00 eric_carlson: It presupposes that the user knows the user's preferences? 10:02:02 Andreas: Yes 10:02:16 eric_carlson: Or it presents a menu of options and allows the user to pick what they want? 10:02:27 Andreas: Yes. It also has a programme guide to help the user select a channel. 10:02:53 .. Each service should indicate e.g. that it has a subtitle track in a particular language and intended for hard of hearing 10:03:12 eric_carlson: Orthogonal question: have we looked at the European accessibility requirements from 10:03:30 .. the perspective of what it's possible to express with the TextTrack specs that we have? 10:03:37 Nigel: You mean the kind attribute in the track element? 10:03:46 eric_carlson: Yes. Do we need more data, or to extend kind? 10:03:59 .. I've been blissfully unaware of the act. 10:04:35 Nigel: In this group I think we have not done a formal analysis of that. 10:04:35 eric_carlson: Sounds like we probably should. 10:04:41 Andreas: The main thing that's of interest to this group is to ensure that the UI is accessible. 10:04:46 .. It's a subset of WCAG. 10:05:07 .. What this technically means will be defined by another ETSI spec, accessibility requirements for ICT products. 10:05:17 .. The update of this specification will also be important for this group. 10:06:25 Nigel: Worth reminding that the Directive defers technical details to one or more of the European 10:06:32 .. standards bodies before it can come into action. 10:06:53 Andreas: And then each nation in the EU needs to put it into their own laws. It's helpful but not necessary 10:08:49 .. to have the technical specification at that time. It's a bit like "safe harbor" in FCC, a minimum set 10:08:49 .. of requirements. 10:08:54 .. Now I need to go through some details that cannot be documented publicly. These are in the 10:08:54 .. liaison that they sent, in the additional material. 10:08:54 [further slides] 10:09:29 -> https://lists.w3.org/Archives/Member/member-tt/2023Sep/att-0002/New_TV_Anytime_Elements_for_Accessibility_Signalling.pdf New TV Anytime elements (member only) 10:16:25 -> https://www.etsi.org/deliver/etsi_en/303500_303599/303560/01.01.01_20/en_303560v010101a.pdf DVB TTML specification - see table 2 10:27:20 Nigel: Looking at the DVB TTML spec list, I think it's unclear if "same-lang-dialogue" includes 10:27:43 .. all dialogue in it's original language or only the dialogue in a single language, with any other language 10:27:49 .. text just omitted. 10:38:01 eric_carlson: If there are multiple audio tracks in different languages then you cannot resolve what 10:38:20 .. "same lang" or "other lang" means. 10:39:03 .. It needs to be useful to the client, so that it can accurately apply these labels to allow the user to make a selection. 10:49:41 .. 10:49:59 .. I wrote an algorithm for matching up audio track and subtitle track in Webkit, that's open source. 10:50:04 .. The code isn't that hard to read. 10:50:15 Andreas: There's also a DECE algorithm. 10:50:26 Nigel: It's public, quite complicated - there's a scoring system. 11:10:24 tidoust has joined #tt 11:39:53 Zakim has left #tt 12:06:59 atai has joined #tt 12:25:16 tidoust has joined #tt 12:25:54 hi all - joining later for the DAPT session... 12:26:59 rrsagent, make minutes 12:27:01 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 12:27:20 Zakim has joined #tt 12:28:41 Evan_Liu has joined #tt 12:32:00 Present+ Gary 12:32:03 Chair: Nigel, Gary 12:32:13 Topic: Break for lunch 12:32:18 Nigel: Back at 1430 12:32:27 Topic: WebVTT issues 12:33:08 atsushi has joined #tt 12:33:18 eric_carlson has joined #tt 12:33:26 jcraig has joined #tt 12:33:32 present+ 12:35:51 Subtopic: VTT Metadata Cue format is ambiguous; some metadata may be unintentionally presented to the user in a context outside HTML w3c/webvtt#511 12:35:58 github: https://github.com/w3c/webvtt/issues/511 12:38:16 Slides... https://www.icloud.com/keynote/09dCEDKVwnUk_nhjBrkArTIcg#WebVTTMetadata_public 12:39:28 jcraig: Hi everyone, we've been talking about this topic for at least a couple of years, we think we 12:39:35 .. have a way forward thanks to a suggestion from Gary. 12:39:49 .. I'm going to cover problems with VTT metadata today, 12:39:54 .. Proposed solution with exampless, 12:40:08 .. and a Specific new use case for strobing 12:40:13 .. [slide 3] 12:40:36 .. Example of thumbnails metadata. 12:40:42 .. Problem today is ambiguity 12:40:47 .. [slide 5] 12:40:54 .. Can't tell if it's metadata 12:40:58 .. [slide 6] 12:41:12 .. Or what type of metadata, e.g. key value pair vs JSON 12:41:15 .. [slide 7] 12:41:21 .. Proposal: ATTRIBUTES in VTT 12:42:05 .. More or less the same as Gary's suggestion, a different name. 12:42:05 .. [slide 8] 12:42:05 .. Example: Dialog-Only "Subtitles" 12:42:17 .. minimal usage is ATTRIBUTES block with a kind: attribute, should be the same as the HTML video track element's kind attribute. 12:42:35 .. That definition in HTML is handled, but there is nothing to define VTT as subtitles outside 12:42:40 .. that use case, e.g. in an MPEG container. 12:42:59 .. srclang is one of the suggestions, here es-mx with a label: Español 12:43:27 .. The difference between subtitles and captions being whether sound effects are included for 12:43:51 .. the deaf and hard of hearing. 12:43:59 .. [slide 9 (?)] 12:44:10 .. Another example is descriptions aka Audio Description 12:44:21 .. Using text to speech, or text to Braille. 12:44:36 .. Users who cannot see the media but want to watch alongside friends and family. 12:44:56 .. Or hearing viewers who do not want to disrupt their co-watchers, as Leonie Watson 12:45:14 .. mentioned last year. 12:45:30 .. The label in this case would be in an audio menu not a subtitle menu. 12:45:34 .. [slide 10] 12:45:45 .. Metadata example from before. kind: metadata. 12:45:55 .. That's why we didn't choose METADATA. 12:46:08 .. We introduced "type" where we're maintain a regisitry, TTWG would be a good home for that. 12:46:24 .. I chose video-thumbnails here, but it doesn't have an accessible label. 12:46:29 .. [slide 11] 12:46:44 .. JSON version, with multiple languages of alt text in different languages. 12:46:54 .. This allows the previous example to be accessible. 12:47:16 .. The video-thumbnails could be in the registry pointing to a spec that defines the JSON format. 12:47:31 .. [slide 12] Use Case: Video Strobing 12:47:45 .. If you look at the description of #511, this proposal comes further down. 12:47:56 https://github.com/w3c/webvtt/issues/512 12:48:02 .. Also see #512 is the impetus for this particular discussion. 12:48:15 .. Apple released a feature in the Spring called Dim Flashing Lights which is a way 12:48:32 .. to mitigate flash patterns as they happen in media, for people with light based discomfort or 12:48:51 .. epilepsy. We'd like to timecode the risk times with WebVTT metadata. 12:49:20 .. [slide 13] "Warning..." that refers to a few seconds of flashing at an unknown point in a 2 hour movie. 12:49:48 .. People tell me their partner has to watch ahead to find the flashing section so they can skip over it on second watch. 12:50:03 .. This metadata exists, but we'd like to push it forward to viewers. 12:50:18 .. I have a small video which I'll show that has some flashing in it. 12:50:25 .. [slide 14] genuine warning 12:50:36 .. If you're sensitive, cover the bottom left portion of the screen. 12:51:46 .. [slide 15, shows video] 12:53:09 .. You can see the risk estimation is a lot lower on the right side than the lefft. 12:53:20 .. Dim Flashing Lights is on GitHub. 12:53:32 .. [slide 16] Open source links 12:53:47 .. We auto-mitigate this ourselves without the need for this API by looking ahead in the frame buffer. 12:54:05 .. We can't do it on 3rd party hardware though, e.g. AppleTV+ on 3rd party machines where we don't 12:54:17 .. have access to the lower level GP level frameworks. 12:54:39 .. In addition to the mitigation there are other user level features, like allowing the user to skip 12:54:58 .. the sections they don't want. We have shipped something similar for HLS but would like it on the web 12:55:03 .. and more standardised in VTT. 12:55:18 .. [slide 17] Example metadata for flashing 12:55:42 .. We have type: video-strobing which would point to a registry 12:55:54 .. We also have intensity, flash type and algoriithm 12:56:40 .. There are 3 types of flashing, general, spatial pattern or red. They're all listed in the WCAG. 12:56:54 .. Our algorithm can identify general flash. 12:57:06 .. This example has us intermingling our algorithm with others. 12:57:49 Nigel: Is your idea that one VTT file identifies flashes discovered by multiple algorithms? 12:57:54 jcraig: Potentially yes 12:58:02 Nigel: And why does the user care about the algorithm? 12:58:21 jcraig: The user probably would not, but it might be useful in choosing behaviour to work around the flash. 12:58:49 eric_carlson: The user agent can use the type of flashing to work out whether to skip or mitigate a different way. 12:58:56 Nigel: That's type rather than algorithm? 12:59:10 jcraig: Ideally this intensity value should be agreed on and testable. 12:59:28 .. In some cases different algorithms give different intensity levels for the same flashing. 12:59:46 .. The goal of listing the algorithm is to reconcile where that number came from. 13:00:02 .. Ideally if we thought it was 90% no matter which one it came from, but if they have very different 13:00:13 .. values we might actually trust the worst case. 13:00:21 Evan_Liu: Is this part of the proposal? 13:00:40 jcraig: The proposal today is for the ATTRIBUTES block and this is our first use case. 13:00:51 .. [Slide 18] 13:00:55 .. Other potential Use cases 13:01:21 .. Physical sensitivity warnings, content trigger warnings 13:01:35 .. Motion induced vertigo, jump scares etc. 13:01:58 .. I've seen these warnings in video games as well, e.g. upcoming violence or suicide. 13:02:11 .. We could mark up a bunch of different things depending on what the video or game industry wants. 13:02:19 .. [slide 19] Questions? 13:02:31 .. That's all of the proposal today. 13:02:40 .. We're proposing the ATTRIBUTES block. 13:02:49 q+ 13:03:02 .. If that's useful I can help with the PR, and Eric could write an implementation. 13:03:13 .. We could use this flash pattern as the first point outward from the registry. 13:03:39 Evan_Liu: For your video scrubbing example, it would be up to the content provider to decide when to apply these mitigations? 13:04:00 jcraig: I can't speak for all, but typically for Apple's media library, the content provider just 13:04:20 .. submits Yes/No for sensitivity. The goal would be to add this as another asset alongside ingest 13:04:24 .. into Apple's library. 13:04:31 .. I don't know how others do it. 13:04:49 .. Apple produces content too so we'd do it too. 13:04:52 q+ atai 13:04:54 ack at 13:05:07 Andreas: I would support both parts of this. 13:05:25 .. First question/comment: I think it's necessary because WebVTT is used outside the web context, 13:05:31 .. so it's really a requirement to have this. 13:05:47 .. For the ATTRIBUTE block you are adding a new attribute, "type". Should this also be added back 13:06:00 .. to the element, which has media data but no type. 13:06:15 eric_carlson: A further question: If we do have this, we need to define the processing rules for 13:06:42 .. a UA if the kind or type attributes in the HTML and the WebVTT document don't agree. 13:07:01 .. If I know there's an ATTRIBUTES block do I even need the attributes in the track element? 13:07:36 .. The only benefit to having the attributes on the track element is if someone is looking at the DOM. 13:07:46 s/DOM/source to the web page. 13:08:20 Nigel: Doesn't that force the UA to download all the track element resources on page load to work out what to do? 13:08:25 eric_carlson: That's a very good point 13:08:46 .. Right now the mode by default is disabled which means nothing is loaded, but you still need 13:08:50 .. to construct al the UI 13:09:13 gkatsev: I think that answers what to do if there are conflicting track attributes. 13:09:22 eric_carlson: Yes, the track element should always win 13:09:44 jcraig: That happens in SVG images with an img element where both have a label, the local one wins. 13:09:53 q+ 13:10:00 gkatsev: I think we didn't really answer if the idea is that we want a new type attribute in the HTML 13:10:01 ack at 13:10:28 atai: I wanted to add that - do we need attributes at all in the VTT - they can be used for other formats. 13:10:38 eric_carlson: I think we do. Maybe type is too generic a name for it. 13:10:45 .. As we proposed it here it is metadata type 13:11:04 gkatsev: It probably is better for the name in the VTT file to have a similar name to the HTML attribute 13:11:11 .. but it doesn't actually have to be. 13:11:18 eric_carlson: It will confuse people if they're different 13:11:26 gkatsev: The bikeshed name is metadata_type. 13:11:31 eric_carlson: That makes sense 13:11:57 jcraig: If that's the case we would have the same metadata_type name in both places. 13:12:03 .. kind: metadata 13:12:07 .. metadata_type: video_strobing 13:12:15 Evan_Liu: An enumerated list? 13:12:15 q+ 13:12:33 jcraig: A registry of some kind, can be an informative resource. 13:12:49 .. Some table that reserves a type value and has a pointer to where it is defined. 13:12:50 ack at 13:13:06 atai: In TTML, possibly in HTML too, you can add private values if you prefix with x-... 13:13:46 .. eric_carlson: Yes it would be a good idea to have a rule for "official" types e.g. it cannot start 13:14:21 .. with x- or whatever, or to override, then it must start with something like data- 13:14:21 .. Having one place where people can go to find out how to author is a good ide. 13:14:21 s/de./dea. 13:14:47 jcraig: I like the idea of supporting prototyping and then adding to the registry 13:14:59 gkatsev: Would the registry point to a note or a spec, or just reserve the name 13:15:05 eric_carlson: It should point to a spec or a note 13:15:10 jcraig: I think it should point to a spec 13:15:27 q+ 13:15:59 Nigel: Typically with a Registry we need to define the rules for adding values, so we could require 13:16:09 .. a pointer to a document with a URL, and whatever other changes. 13:16:32 gkatsev: As long as this group is not responsible for writing those documents. 13:16:34 ack at 13:17:24 Andreas: This new block is for defining new attributes, and I can see people using it. 13:17:24 .. Would you allow others to add their own new attributes to the block? 13:17:27 eric_carlson: As long as we define the parsing rules in the same way as VTT does now, 13:17:37 .. like take the first word, look in the list, if it's not there skip to the next line etc. 13:17:49 .. Or an older user agent would skip things it didn't know about. 13:18:05 gkatsev: That's probably fine. My main concern is if someone uses some attribute that we want to add 13:18:13 .. then the value might break. 13:18:27 jcraig: That's why we have an interop problem in HTML now. 13:19:48 Nigel: Question about syntax. What level of complexity do we need to plan to support. 13:19:55 .. How did you get to that key: value syntax? 13:20:12 jcraig: I just thought most folk would want key value pairs, we could use javascript 13:20:20 eric_carlson: Most of the time we aren't going to need multiple lines 13:20:47 jcraig: In an attributes block I can't think of one 13:20:59 eric_carlson: You might want something like alt text that describes the content of the file 13:21:09 .. you could have a different block for that though 13:21:37 jcraig: That's not defined by this spec? 13:21:42 eric_carlson: Or a licence 13:22:08 Andreas: In attributes you cannot put multiple lines 13:22:15 Nigel: You can put escaped new line characters in 13:22:22 Andreas: Do we need that here? 13:22:25 Nigel: That's the question 13:23:40 gkatsev: You don't want multi-line attribute values 13:23:40 Nigel: alt text is the classic example 13:23:40 q+ 13:23:40 jcraig: Like you said, you can use \n 13:24:14 Nigel: That's a question for the syntax specification, do we want to escape new lines 13:24:14 gkatsev: Does WebVTT support that now? 13:24:14 eric_carlson: Not right now I don't think it does 13:25:16 jcraig: One of the goals is to not break existing parsers. 13:25:16 eric_carlson: You can use the existing parser for that as long as you don't have a blank line within a block 13:25:16 ack atai 13:25:16 Andreas: One important question is if this new addition should be in the Rec track version of the document. 13:25:16 .. Is this a proposal to add to the CR or the next upcoming stable version? 13:25:31 gkatsev: One thing I've been for a while trying to do is to try and get just what is currently 13:25:48 .. implemented in VTT out as Rec. Adding new features would make that harder. 13:25:52 .. That said, it doesn't mean we can't work on the feature. 13:26:03 .. It might be worth adding it anyway before Rec. 13:26:22 .. For me, and I should check how to do it, there's the evergreen spec stuff where small features 13:26:31 .. can be added into Rec more easily and this seems like a good candidate for that. 13:26:41 eric_carlson: I agree, it would be a shame to postpone Rec any more than we have to. 13:26:56 .. Not having it in v1 of the spec isn't going to keep us from adding that to the feature set. 13:27:08 cyril has joined #tt 13:27:10 jcraig: It can be in the ED or WD as soon as the group thinks it's a good idea. 13:28:00 .. As soon as everyone who has a stake in that thinks it is ready to go we can take a flag off it. 13:28:00 RRSAgent, pointer 13:28:00 See https://www.w3.org/2023/09/12-tt-irc#T13-28-00-1 13:28:00 Andreas: The registry can be created anyway. 13:28:32 atsushi: I think we decided to bring the spec solely into TTWG? I haven't seen anything on that for a few years. 13:28:32 .. Mostly the spec was developed under CG. 13:29:37 Nigel: I'm puzzled by the question 13:29:50 gkatsev: The CG still exists but noone is involved in advancing it from that side. 13:29:58 .. Maybe we should close the CG? 13:30:22 atsushi: When I looked a few years ago there was an objection to closing the CG. 13:31:30 atsushi: CGs can only work on CG drafts, so only we can work on the Rec track document 13:31:36 s/atsushi/atai 13:32:02 atsushi: That is one of my naive questions. When I tried to update the repo to be just TTWG I believe 13:32:07 .. someone objected. 13:32:50 gkatsev: I haven't heard any objections 13:33:16 SUMMARY: Strong support for this new ATTRIBUTE block but we probably don't want this to hold up the current version of WebVTT from progressing to Rec 13:33:30 Evan_Liu: If the UA does not support these new features does it need to parse the new block? 13:33:43 eric_carlson: According to the current parsing algorithm it will not break anything 13:33:52 jcraig: We'll work on a PR. Thank you. 13:33:56 gkatsev: Thanks. 13:34:01 Topic: DAPT issues 13:36:34 RRSAgent, draft minutes 13:36:35 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html cyril 13:37:41 eric_carlson and jcraig and Evan_Liu leave 13:38:14 MattS and cyril join 13:38:14 Present+ Cyril 13:43:07 Cyril: Worth summarising the situation with Wide Review. 13:43:26 Nigel: Good idea 13:43:58 -> https://github.com/w3c/dapt/wiki/Considerations-for-the-Accessibility-review DAPT Accessibility Review 13:44:40 .. It's on APA's agenda, not sure when they will get around to it or if they hope to discuss it with us 13:44:46 .. in the joint meeting on Thursday 13:45:08 .. Internationalisation: We have not made the review request yet. 13:45:23 Cyril: No, the template needs a pointer to the Explainer. Now that we have the Explainer 13:45:28 .. there is no blocker, I just need to do it. 13:45:44 -> https://github.com/w3c/dapt/wiki/DAPT-Explained Explainer 13:46:25 Nigel: I encourage everyone to check through this 13:46:38 Cyril: There's an explainer for how to write an explainer, so we used that as a template. 13:46:43 .. We didn't invent a lot of new text. 13:46:59 Nigel: No, though I didn't do a comparison with other text elsewhere. 13:47:28 .. Privacy and Security reviews are both requested 13:47:44 -> https://github.com/w3c/dapt/wiki/Considerations-for-the-Privacy-and-Security-Reviews Privacy and Security Reviews 13:49:38 .. Lastly, TAG review 13:49:50 -> https://github.com/w3c/dapt/wiki/Considerations-for-the-TAG-Review TAG review (our wiki page) 13:50:07 Nigel: Has this been done? 13:50:11 Cyril: No not yet 13:50:28 .. It's on my list - TAG and i18n are on my list 13:50:48 Nigel: That's the Horizontal Review part of Wide Review. 13:51:05 .. The other part, contacting external organisations etc. is logged at 13:51:21 -> https://github.com/w3c/dapt/wiki/Wide-Review-outreach-log Wide Review outreach log 13:53:18 Nigel: In terms of responses, we did not receive many. 13:53:25 .. ARIB responded to say they have no comments. 13:53:41 .. And we got several acknowledgements of receipt of our messages 13:54:32 Cyril: I added Disney/Hulu, Warner, Apple and CableLabs. 13:54:42 .. I will have a follow-up with Disney, they want to understand a bit more. 13:55:01 .. I actually sent a message to James Craig about this to Apple, he hasn't responded yet. 13:55:17 Nigel: I have had very positive responses from two organisations, one wanting to be the first 13:55:41 .. implementers! Another said they had already started using it, and it has been very smooth. 13:59:17 Cyril: I'm going to raise the remaining HR issues. How long should I give them - a month and a half, say? 13:59:57 Nigel: Sounds reasonable to me. 14:07:10 Nigel: [looks through the pull requests] 14:07:23 .. Seems like there's nothing to discuss on these now, they need some work to be done. 14:07:34 Cyril: The best use of our time is to review those offline. 14:08:09 Nigel: Looking at the issues... 14:08:21 Subtopic: Consider removal of distinction between script and transcript in chapter 2.1 w3c/dapt#175 14:08:28 github: https://github.com/w3c/dapt/issues/175 14:09:44 Andreas: I'm not sure if my point was clear or if you understood it? 14:10:04 Cyril: My understanding is that you're saying "DAPT Script", because it can refer either to 14:10:14 .. a transcript or a script, is confusing. Is that right? 14:10:35 Andreas: You say in §2.1 that script and transcript are mutually exclusive in their meanings, but 14:10:51 .. then you use one of them as a superset of the other. 14:11:04 .. This basic description of transcript and script doesn't seem necessary. You always label 14:11:25 .. a specific script with something else like "pre-recording script". The categorisation doesn't work for me, 14:11:27 .. language-wise. 14:11:41 Cyril: Trying to see how to address your concern. 14:11:52 .. One way is to remove the paragraph and just call everything a script? 14:11:56 Andreas: Yes that would work for me 14:12:15 Cyril: Or if we change DAPT Script to something else that doesn't use the word "Script" would that resolve it? 14:12:34 Andreas: I'm not sure if "DAPT Script" is the only use of "script" to make both. 14:12:43 Cyril: The first document you can produce is a transcript. 14:12:54 q+ 14:12:54 .. Start by transcribing the original language, for dubbing. 14:13:07 .. Then by adjusting and translating the transcript you produce the dub script. 14:13:10 Andreas: Ok 14:13:24 Cyril: I actually like the text, it's clear what is a transcript and a script. I can understand that 14:13:44 .. "DAPT Script" being possibly a transcript could be confusing. That's why I was asking if changing that 14:13:50 .. term could be less confusing. 14:13:52 ack MattS 14:14:07 MattS: From a linguistic point of view you can only ever transcribe something that already exists. 14:14:26 .. You could end up with a script that is a transcript. You're unlikely to need a transcript of audio description, 14:14:39 .. with the workflow you would try not to be in a scenario where you have no script for audio description. 14:14:55 .. I can see the confusion but to my mind the origination of a transcript is always very clear. 14:14:59 q+ 14:15:10 .. A script is forward looking, a transcript is backward looking. 14:15:11 ack at 14:15:25 Andreas: That was a comment I made long ago. By reading through it and making sense of it 14:15:42 .. without being an expert in the domain of localisation. If there's a clear understanding of this 14:15:57 .. differentiation then there may not be an issue. I just wanted to make sure that this is clear to others. 14:16:10 .. If it's used this way in localisation it should be kept this way. 14:16:25 MattS: I definitely think they are not used interchangeable. But "script" has a broader range of meanings 14:16:30 .. than "transcript". 14:16:40 Andreas: Would you say a "transcript" is not a "script"? 14:16:57 MattS: I would say a "transcript" is a kind of "script". 14:17:27 .. From a workflow point of view a script is forward looking, but linguistically a transcript is a 14:17:29 .. form of script. 14:19:08 Cyril: How do we resolve this issue? 14:19:29 .. Is modifying the first paragraph to say that a transcript is a special type of script - would that help? 14:19:49 Andreas: That would be clearer to me at least, but then you have to rewrite the whole paragraph. 14:19:55 .. Currently they seem to be mutually exclusive. 14:20:03 Nigel: Ok, I think I can do that. 14:20:56 SUMMARY: Reword §2.1 para 1 to allow for "script" to include "transcript" as a special case. 14:21:10 github-bot, end topic 14:22:17 Subtopic: Reconsidering the role of character styles w3c/dapt#124 14:22:24 github: https://github.com/w3c/dapt/issues/124 14:22:40 Cyril: The current text is kind of confusing because styles can be used for two things. 14:22:56 .. One is indicating colors and font etc. when recording the script, for example in the dubbing application 14:23:00 .. when the voice actor is recording. 14:23:13 .. The other is when you're producing subtitles from transcripts for example, to preserve styles. 14:23:24 .. The ambiguity is because the spec isn't clear which use case it is trying to resolve. 14:23:38 .. We talked about it, and I discussed it with my Netflix colleagues. 14:23:48 .. At this point I would be happy to remove every mention of styles from the spec, 14:24:28 .. or just have a note that says that if you transform a DAPT Script into subtitles or captions you can 14:24:28 .. preserve styles from a DAPT script. 14:25:48 q+ 14:27:33 .. But really a DAPT script is not meant to be displayed as-is. 14:27:33 Nigel: When we talked about it Cyril we made the distinction between styling for thousands of audience memberss 14:27:34 .. vs styling for individual voice artists. 14:27:34 ack MattS 14:27:34 Matt: When I saw style I was a bit confused. 14:27:51 Cyril: So removing styles would be okay? 14:27:51 MattS: I think so yes 14:27:51 ack MattS 14:28:35 Cyril: One of our use cases is to put Japanese text for someone on the right. If they could describe 14:29:12 .. the positioning while transcribing then that can be used for subtitles later. 14:29:21 MattS: I can see similar examples avoiding graphics. 14:29:43 .. I would agree, from a workflow point of view we wouldn't be getting the same people to do the styling. 14:29:59 SUMMARY: Simplify the specification by removing the styles, adding a note that styles may be used. 14:30:12 github-bot, end topic 14:30:26 Nigel: That's assigned to you Cyril. 14:40:41 Topic: Consider identifying the original language on top of the current language w3c/dapt#148 14:40:47 github: https://github.com/w3c/dapt/issues/148 14:40:54 Cyril: I don't know where we ended up with this. 14:41:08 .. I proposed having a langSrc="pivot" value. 14:41:35 Nigel: Then if you reused a translation as a pivot then you'd have to change the value of "langSrc" everywhere. 14:41:41 Cyril: What's the other proposal? 14:41:53 Nigel: I proposed to identify the language from which the Text was translated. 14:41:56 group discussion 14:42:20 atsushi: Strong +1 to keeping a trail of the source language from which text was translated. 14:43:01 SUMMARY: Change it so omitting langSrc implies it is original, otherwise the value of langSrc is the translation source language code. 14:43:06 Topic: Break 14:43:10 Nigel: Back at 1700 14:43:42 have dropped off the call now - have a great rest of session! 15:00:40 atai has joined #tt 15:00:48 tidoust has joined #tt 15:01:37 eric_carlson has joined #tt 15:01:44 rrsagent, make minutes 15:01:46 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 15:02:42 Topic: TextTrackCue presentation 15:03:09 MattS and Cyril have left 15:03:21 Marcos and Anders join 15:03:40 Present+ Andreas_Bovens, Marcos_Caceres 15:03:48 Evan_Liu has joined #tt 15:03:50 s/Anders/Andreas Bovens 15:03:59 Evan Liu returns 15:04:17 s/and Cyril have/has 15:05:22 Marcos: I will present for 20 minutes, will post the slides 15:05:54 .. Enhancements to TextTrackCue and WebVTT 15:06:05 .. Why? Accessibility, Privacy and User control 15:06:20 .. Users can define caption styles with system accessibility settings in OSes, 15:06:29 .. e.g. font size, text and background color 15:06:39 .. We want to support custom format but have them rendered by the browser engine 15:06:49 .. For privacy, styles must not be leaked to the page 15:07:27 .. Consistency across sites and overall experiences is the goal, including in Picture in Picture, 15:07:27 .. live captioned video calls etc. 15:07:27 .. Demo by Eric 15:07:53 Eric: [shares screen] 15:08:22 .. What we have here is a cartoon I downloaded from YouTube. I downloaded the captions 15:08:26 .. that YouTube generated. 15:08:31 .. I generated an IMSC file from them. 15:08:43 .. When we play it you see it's basically the YouTube style captions. 15:08:48 .. The one supplied by the website. 15:09:11 .. However if I go into my system settings, accessibility, captions I have my machine configured 15:09:25 .. to show the subtitles a different way. If these captions were WebVTT based then the browser 15:09:30 .. would render them and style them. 15:09:40 .. I have a trial implementation of what we will propose, in Webkit. 15:09:54 .. The way these are rendered uses imsc.js. 15:10:07 .. I modified it to tag parts of the cue to identify the foreground and background as it's parsed. 15:10:30 .. When I click this button I hide the imscJS output and instead show the text track populated 15:10:40 .. with the DOM node generated by imscJS. I added attributes to the foreground and background. 15:11:09 .. Even though the browser didn't parse it it is rendering the cues and using the style I chose in the system settings. 15:11:33 .. But imscJS can't know anything about it and instead the authored styles are preserved. 15:11:53 Marcos: Changes to HTML 15:12:14 .. TextTrackCue interface changes. Add a constructor with startTime and endTime and document fragment 15:12:46 .. docFragment restricted to bbr, img, div, p, rb, rt, rtc, ruby, span, i, b which allows us to support 15:12:55 .. all of WebVTT. 15:13:18 .. usage example: we steal the first child element. 15:13:27 .. Requirement is to have a cue and a background, can be the same element. 15:13:38 .. 2 new global attributes: cuebackground and cue 15:13:49 .. Serves as ::cue and ::cue-background pseudo elements 15:13:58 .. Add .getCueAsHTML() method to TextTrackCue. 15:14:10 .. May be able to move it down and have it backwards compatible. 15:14:25 .. Or override getCueAsHTML() 15:14:29 Nigel: Move down? 15:14:50 Eric: Currently method on VTTCue, proposing to move it to TextTrackCue unless it causes a problem 15:14:58 .. in which case have it on both classes and override in VTTCue. 15:15:23 Marcos: Add a private [[legacyUpdateFragment]](docFrag) internal method. 15:15:37 .. Legacy to support WebVTT's .text attribute mutations. 15:15:49 .. We don't want to support this mutation, there's no need for it. 15:15:55 Andreas: I don't understand this mutation 15:16:10 Eric: VTTCue's text attribute is read/write. You can modify it after construction. 15:16:24 .. In hindsight that was probably not a good idea. We don't want to support it on TextTrackCue 15:16:33 Nigel: Why was it not a good idea? 15:16:52 Marcos: It's expensive, and there seems to be no use case in place of creating a new one. 15:16:59 Andreas: What about in an editor environment? 15:17:20 Marcos: TextTrackCue takes a document fragment and validates it so we don't want to support mutating it. 15:17:44 Eric: Internally the browser will copy that fragment, so even if you did change it nothing would happen. 15:17:58 Marcos: In the WebVTT world there was no assumption that there would be DOM nodes, but in reality 15:18:13 .. that's how everyone is using it. 15:18:22 .. [shows CSS styling using pseudo selectors] 15:18:46 .. Make the constructor call into TextTrackCue. It should "call super". It's missing now, not a big deal. 15:19:02 .. All parsed VTT results in a parsed HTML fragment by default. 15:19:11 Eric: It's just spec text change, you wouldn't be able to observe the difference. 15:19:53 Marcos: Relocate ::cue CSS spec text to CSS pseudo elements specification and specify ::cue-background 15:20:07 .. I taked to fantasai - she thinks CSS behaviour should be moved to CSS specs. 15:20:15 .. Then it's in an independent spec that others can use. 15:20:27 .. Let the minutes reflect that we love and trust the CSS WG. 15:20:37 .. Open questions. 15:20:49 .. In WebKit today, TextTrackCue supports more than WebVTT. 15:21:06 .. br, img, div, p, rb, rt, rtc, ruby, span 15:21:22 .. WebVTT doesn't support img, for instance, should we reconcile this? 15:21:44 eric_carlson: It was a low effort "week of code" work to implement. 15:22:17 Marcos: If this looks good we can open a pull request with no pressure, and we'd like a second implementer 15:22:18 q+ 15:22:47 -> https://github.com/WebKit/explainers/texttracks/ 15:22:57 ack atai 15:23:04 Andreas: Thanks a lot for the presentation. 15:23:15 .. We have discussed this for several years, it would be great to see this moving. 15:23:36 .. One thing you mentioned is that it covers everything in WebVTT plus some more vocabulary 15:23:43 Andreas_Bovers and Marcos_Caceres leave 15:23:53 Andreas: Does it support everything in IMSC? 15:24:10 eric_carlson: That's how I came up with this list. The list that's there is based on the node types 15:24:13 .. that imscJS uses. 15:24:53 s/Marcos and/Marcos, Pierre and 15:25:08 cyril has joined #tt 15:25:13 gkatsev: I was going to say that images in WebVTT has been brought up before? 15:25:16 eric_carlson: It has 15:25:23 gkatsev: I don't see a reason not to allow it 15:25:25 q+ 15:25:38 .. at least we might want something similar, e.g. to support non-HTML processors. 15:25:44 .. It might need a similar allotment for images. 15:25:55 eric_carlson: Wouldn't we have to extend the syntax. 15:26:06 .. There's no markup to signal insertion of an image in WebVTT. 15:26:20 gkatsev: I was imagining an image tag like thing 15:26:32 .. There are also privacy implications, that can be mitigated by inlining the image. 15:26:47 eric_carlson: Yes, we'd have to define the processing rules, cross site behaviour etc. 15:26:49 q? 15:26:53 ack nig 15:27:30 Nigel: I would steer clear of images unless you have a strong use case. 15:27:42 q+ 15:27:46 eric_carlson: I talked to Tess about it, thought about the pros and cons, thought we should add. 15:27:59 .. I agree it would be better not to because it causes accessibility problems and is a hot button issue 15:28:04 .. for some people. 15:28:10 gkatsev: We could always add it later. 15:28:17 eric_carlson: Sure, if there's a strong use case. 15:28:23 .. It makes it easier not to. 15:28:57 q+ 15:29:07 Nigel: There would be other options too, like IMSC or some other format. 15:29:12 q+ 15:29:15 ack at 15:29:24 Andreas: It's only about adding it to WebVTT? 15:29:50 eric_carlson: It's just for parity. There is a reason not to add image, but it's the same as not adding to TextTrackCue. 15:30:07 Andreas: The case for images is where there's no font support for a language. 15:30:21 eric_carlson: The issue is you cannot restrict it to that case. 15:30:32 Andreas: Any data points about usage of image? 15:30:52 Pierre: There are bug reports on imscJS asking for support for images, so it is absolutely in use. 15:30:53 q? 15:31:05 ack cyril 15:31:21 cyril: The link to the explainer in the minutes is broken. Also please share the slides. 15:31:35 eric_carlson: Marcos is going to share the slides - he had to run to another group he's sharing. 15:31:51 cyril: The question in terms of API: is there a way for a website to opt out of system level override? 15:32:15 .. The Netflix use case is to apply a user's Netflix-wide caption settings rather than the system settings. 15:32:23 eric_carlson: Then why use this API at all? 15:32:43 .. The answer is an emphatic "no" because it's important to make it difficult for sites to opt out. 15:33:30 gkatsev: When you give it the document fragment does it require the cue and cuebackground attributes? 15:33:39 eric_carlson: Yes, it throws if they aren't there. 15:33:55 .. If you test this you'll find it generally works but isn't shippable yet. The interaction between the 15:34:19 .. user's styles and the inline styles isn't quite right. The specificity of the CSS can lead to it doing the wrong thing 15:34:24 .. but that's not going to be hard to fix. 15:34:26 q? 15:34:33 ack nigel 15:34:49 https://github.com/WebKit/explainers/blob/main/texttracks/README.md 15:35:19 Nigel: I want to know more about those attributes, and if there are any other constraints. 15:35:30 .. Is there a maximum number of elements with each attribute? 15:35:33 q+ 15:35:45 eric_carlson: they're just used for CSS styling, so it's fine to have any number. 15:35:54 gkatsev: Just like having two cues with the same time period. 15:35:56 eric_carlson: Yes 15:37:26 Nigel: In the past we've had some queries about how to understand what the source styling is. 15:37:54 .. I have a spidey-sense that that could be the detail in which the devil resides. Can we write down 15:37:57 .. the expected behaviour here? 15:38:01 q+ 15:39:21 eric_carlson: That's a system implementation issue. 15:39:44 .. The "window" colour is applied to the element with the cue-background attribute, and the 15:39:55 .. "background" is applies to the element with the cue attribute. 15:40:04 .. In Apple's system settings. 15:40:23 q? 15:40:31 q+ to ask about speaker colours 15:40:35 ack atai 15:40:42 Andreas: This would be a considerable improvement in the situation. 15:40:53 .. This morning we also had some discussion of native support of formats like IMSC. 15:40:58 .. I'm wondering how this could help for that. 15:41:09 .. As Marco mentioned, WebVTT already defines how to translate itself into HTML. 15:41:23 .. In case there's interest in the browser industry to support other formats, would a similar mapping 15:41:26 .. from IMSC to HTML help? 15:41:43 eric_carlson: I don't think this is going to make it any easier. When I added the support we have in WebKit 15:42:03 .. it was 2 days of work or something. If a source base supports WebVTT and displays it using the shadow dom, 15:42:20 .. as all the browsers do, it's easy to take the fragment and put it into the shadow DOM, 15:42:25 .. It's just coming from a different place. 15:42:31 .. From script rather than the VTT parser. 15:42:47 .. The issue is the parser. They're notoriously hard to get right and a major source of security 15:43:09 .. vulnerabilities. The major effort in supporting any format is the parser, getting it right and doing it safely. 15:43:35 .. It would be many orders of magnitude more complex. 15:43:53 .. I may be overestimating the work, it's significantly more than this. 15:44:10 Andreas: Do you expect that the document fragment would be generated outside the browser? 15:44:29 eric_carlson: Yes, and it sanitises it and then sticks it in the shadow DOM 15:44:33 Nigel: What sanitising? 15:44:48 eric_carlson: There's an API for this now, making sure it has no scripts etc. 15:45:02 .. Fixes up dangling nodes, makes sure it's safe and filters out the things that are permitted. 15:45:04 q? 15:45:11 ack pal 15:45:27 Pierre: Quick question. I think you talked about this at the beginning. Is it to merely match the 15:45:54 .. capabilities or mimics a subset of WebVTT, or to support an intersection of WebVTT and IMSC. In your 15:45:56 .. mind what's the scope of this? 15:46:09 eric_carlson: In my mind it's to allow people who can't use WebVTT to do what they're doing now but 15:46:24 .. to hand over rendering as well as scheduling to the browser, so we can display the captions in PiP, 15:46:33 .. full screen etc to make the experience better for the user and the developer. 15:46:49 .. The list of node types in there now are based on what is in imscJS. That's how I came up with the list. 15:47:00 Pierre: There's one missing though, region, which is why I'm asking. 15:47:11 .. It's useful to semantically associate subtitles across events. 15:47:17 eric_carlson: If it's important we can add it. 15:47:38 Pierre: Going from memory, things like multi-row align, and others that are considered essential 15:47:46 .. for subtitles or need to be added into CSS. 15:47:56 eric_carlson: If it's not supported in CSS that's where the discussion needs to happen. 15:48:05 q+ 15:48:09 .. What we should do is make it possible for captions to work given the constraints we have with CSSS 15:48:14 s/CSSS/CSS 15:48:25 .. If there are problems with CSS we should fix that rather than going around it. 15:48:32 Pierre: Exactly, that's why I'm asking. 15:48:49 gkatsev: Hopefully when CSS gets the feature then this is an opportunity to get it. 15:49:05 Pierre: Right, this is HTML though, so if there's a feature missing in HTML and CSS this would be the 15:49:09 .. right time to address it. 15:49:15 eric_carlson: I wholeheartedly agree. 15:49:32 gkatsev: Yes it does help make the case that these should be revisited. 15:50:53 Pierre: linePadding is another one. You can polyfill in imscJS 15:51:12 Nigel: At the moment imscJS does things to support fillLineGap and linePadding, but it can only do it 15:51:33 .. by manipulating the content in the DOM. If it no longer has access to that then it can't support those 15:51:42 .. features unless the CSS layer natively supports them. 15:51:47 .. Is there a way around that? 15:52:03 eric_carlson: The script simply can't access the shadow DOM. We're going to have to figure it out. 15:52:11 q? 15:52:19 ack ni 15:52:19 nigel, you wanted to ask about speaker colours 15:52:23 ack gk 15:52:27 gkatsev: Two questions. 15:52:43 .. How free are the styles the document fragment can have? 15:52:47 .. Is it all of CSS? 15:53:02 eric_carlson: Currently, yes, but it's an open question as to whether it should be or not. 15:53:20 .. We will have to define that because the VTT spec defines what you can apply using the pseudo elements. 15:53:40 .. Maybe that's wrong, it happens automatically and I use the same pseudo class to define it as for VTT. 15:53:50 .. It's possible some things are disallowed. 15:54:11 .. If you had a style element... 15:54:19 eric_carlson: It would throw, it's not allowed. 15:54:36 gkatsev: Second question, related to what Pierre brought up, around regions and VTT regionss. 15:54:42 s/regionss/regionss 15:54:45 s/regionss/regions 15:54:57 .. It would be good to see how that could be implemented. 15:55:09 eric_carlson: Yes, and there are new things in CSS that make more sense than what's in WebVTT 15:55:22 gkatsev: In a live scenario you may not have all the cues available ahead of time. 15:55:37 .. Maybe the region API would be an extension of the VTT Region API. 15:56:08 eric_carlson: maybe 15:56:08 q+ 15:57:42 Nigel: I'm wondering what the path forward is to being able to provide speaker identification data 15:57:42 .. so that in the settings e.g. Apple's ones you don't just have the override all vs don't override options. 15:58:16 eric_carlson: It's the user's choice 15:58:16 q+ 15:59:30 Nigel: That's not good enough - it breaks the usability 15:59:41 Eric: If you want to prevent color overrides that's a mistake 16:00:06 Nigel: That's not my target, it's to allow users to override per-speaker color, not just have a single choice. 16:01:16 Andreas: The immersive captions community group has produced a similar set of examples. 16:01:59 .. An enhancement would be to provide a set of favoured colours and replace them. 16:01:59 eric_carlson: That's a lot of user interface complexity. 16:02:38 Nigel: It's a system implementation issue but if the input data isn't there then there's no hope of them implementing it at all. 16:02:41 q? 16:02:46 ack atai 16:03:12 Andreas: Two things. First, adding bleeding edge CSS functionality that's not in IMSC or WebVTT would be a good thing 16:03:40 .. for example the proposal from BBC to support styling that's in CSS but not translated into TTML styles yet. 16:04:15 .. Maybe even if some styles are not defined in WebVTT, but they would be supported, that's a good 16:04:17 .. thing. 16:04:21 eric_carlson: Let's come up with a list 16:04:31 Nigel: I think support everything, why not? 16:04:38 Andreas: If they're not causing any harm, yes 16:04:50 eric_carlson: Some things like background-image could be harmful. We need a list. 16:05:12 Andreas: Note that the player also has some user settings too and there's a need for how this is 16:05:16 .. implemented and best practices. 16:05:19 q? 16:05:44 ack gkatsev 16:05:56 Nigel: Want to register support for this. 16:06:03 gkatsev: Also support. 16:06:16 .. WebVTT has these Node objects that can be quite complex to target with CSS. 16:06:23 .. Do we want to support that? 16:06:29 eric_carlson: ?? 16:07:18 gkatsev: There's a voice object, e.g. ::cue(v.mary) - you would potentially want to support a user 16:07:18 .. writing CSS to target that through this API. 16:07:18 eric_carlson: That's a great point, I hadn't thought about that. 16:07:18 .. We should work out how to identify those nodes. 16:07:29 gkatsev: Some are easy, a b element is just a b element. Others like voice are trickier. 16:07:43 eric_carlson: Given that we can use inline style we may not need it, I haven't thought about it. 16:08:01 gkatsev: I'm thinking of it as a developer with an API, where the user is using our player on a page and 16:08:16 .. they want to target CSS like saying mary should always be green. 16:08:24 eric_carlson: Would that work just with class? 16:08:40 gkatsev: It should, but the same selector should work with either WebVTT or TextTrackCue 16:08:44 eric_carlson: Let's look into that 16:08:51 .. It should do, yes 16:08:59 q? 16:10:36 Nigel: Do we need to discuss webvtt#516? 16:11:06 eric_carlson: If we define the cue-background attribute and the CSS pseudo element then that issue 16:11:09 .. will be solved. 16:11:31 Nigel: But it's not in WebVTT now? 16:12:00 gkatsev: This is to support window color. It would need a change in WebVTT. 16:13:08 .. Doing that would align it more closely with the regulations, so there is a benefit to doing it. 16:14:23 .. This also falls under the great changes we want in WebVTT but shouldn't block move to CR. 16:14:23 .. I think the constructor one can go in as long as its backwards compatible. 16:14:23 eric_carlson: It should be backwards compatible so it's just the semantics of the text. 16:14:23 .. It won't change any implementation, it's just fixing up the spec text. 16:15:26 Nigel: Is the ability to construct a TextTrackCue not an implementation change? 16:15:59 eric_carlson: I'm just talking about updating the wording of the text in the spec to describe what 16:15:59 .. happens behind the scenes. 16:16:05 gkatsev: The wording could say something like "you might create a TextTrackCue if the ctor is available" potentially, 16:16:09 .. wording to be figured out exactly. 16:16:10 q+ 16:17:32 Nigel: Just musing over the richer customisation options question, you can use CSS selectors to select 16:17:50 .. based on attribute values or presence, so if there were some industry convergence on a set of 16:18:11 .. attributes against which styling could be customised, then that could be extended to improve the 16:18:16 .. options available to users. 16:18:19 eric_carlson: Yes. 16:18:21 ack atai 16:18:35 Andreas: Just to get my head around the changes proposed. 16:18:48 .. As I understood, there will be a TextTrackCue ctor, so that will be a change in the HTML spec? 16:18:52 eric_carlson: Yes. 16:19:13 .. And we need to change both specs if its compatible to move the getCueAsHtml method to TextTrackCue 16:20:08 gkatsev: As a follow-up to that, would it include the special attribute tags? 16:20:10 eric_carlson: yes 16:20:36 gkatsev: If you create a VTTCue and all getCueAsHtml() should that include the attribute tags? 16:20:54 eric_carlson: Yes. Your VTT file would have to define the background. It's an implementation detail. 16:21:25 gkatsev: There's a chance that if there are issues then VTTCue.getCueAsHtml() wouldn't have those, 16:21:30 .. that could potentially cause an issue. 16:21:46 eric_carlson: I don't think there will be. We already have it as a private pseudo-class that goes onto the 16:21:54 .. DOM node that holds those cues so we can apply the styles. 16:22:11 gkatsev: There's a potential issue if someone is not expecting these new attributes and their 16:22:18 .. code breaks if they suddenly appear. 16:22:45 Nigel: Related to that, what you get back isn't what you put in, but is the sanitised version? 16:23:05 eric_carlson: Yes, it's a sanitised cloned version so the script doesn't have access to the shadow DOM. 16:23:55 gkatsev: I'd expect it to be as close to what is being rendered as possible. 16:24:08 eric_carlson: Yes, in our implementation I clone the node from the shadow DOM. 16:24:21 q? 16:24:46 Nigel: Thanks for this, it's been a great discussion. 16:25:03 Topic: AOB Andreas 16:25:24 Andreas: Just want to follow up on discussions. There is a need to increase interoperability, 16:25:48 .. and Pierre and I are looking at organising a meeting at NAB next year to bring industry together. 16:26:02 .. Good to align with an other event. We are testing the water and checking interest in a half day 16:26:25 .. event at NAB where the time could be used as a meeting or alternatively as a kind of subtitling plugfest 16:26:42 .. where implementations of browsers or TVs can be tested against content by different providers. 16:26:59 .. We will be happy to receive thoughts on this. I will send a message to the TTWG reflector, and yesterday 16:27:11 .. I also sent one to the MEIG. 16:27:28 Topic: Meeting close 16:28:27 gkatsev: That was a good discussion there, I'm happy that there's some life in WebVTT still! 16:28:45 Nigel: Yes, thanks everyone for your great input today, we've had some great discussions and they 16:28:54 .. weren't all ones I expected at the beginning of the day. 16:29:34 .. We meet again on Thursday afternoon with APA and MEIG. 16:29:41 gkatsev: Thanks for taking minutes Nigel! 16:29:42 Nigel: Thanks! 16:29:48 .. [adjourns meeting] 16:29:51 rrsagent, make minutes 16:29:52 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 16:35:55 Present+ Evan_Liu 16:36:33 s/tidoust/Francois/g 16:36:54 s/Xiaohan_/Xiaohan/g 16:37:33 s/github-bot, end topic//g 16:38:29 s/eric_carlson/Eric/g 16:39:25 s/exampless/examples/g 16:40:08 Present+ James_Craig 16:40:20 Present- jcraig 16:40:30 s/jcraig/James/g 16:41:16 s/..Eric/Eric 16:41:34 s/atai:/Andreas:/g 16:42:05 s/gkatsev/Gary/g 16:42:22 s/atsushi/Atsushi/g 16:42:46 s/MattS/Matt/g 16:43:13 s/bbr/br 16:44:01 s/cyril/Cyril/g 16:44:04 rrsagent, make minutes 16:44:06 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 16:45:44 s|ATSLIDEURL|https://github.com/w3c/ttwg/files/12588864/dvb-a11y-signalling-at-tpac-ttwg-meeting-2023-09-12.pdf 16:48:37 s/.. Eric/Eric 16:48:40 rrsagent, make minutes 16:48:41 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 16:51:06 tidoust has joined #tt 16:52:25 s|s/..Eric/Eric|| 16:52:27 rrsagent, make minutes 16:52:29 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html nigel 16:53:45 scribeOptions: -final -noEmbedDiagnostics 16:53:48 zakim, end meeting 16:53:48 As of this point the attendees have been Gary, jcraig, Cyril, Andreas_Bovens, Marcos_Caceres, Evan_Liu, James_Craig 16:53:50 RRSAgent, please draft minutes v2 16:53:51 I have made the request to generate https://www.w3.org/2023/09/12-tt-minutes.html Zakim 16:53:57 I am happy to have been of service, nigel; please remember to excuse RRSAgent. Goodbye 16:53:57 Zakim has left #tt 17:01:40 rrsagent, excuse us 17:01:40 I see no action items