07:28:10 RRSAgent has joined #apa 07:28:15 logging to https://www.w3.org/2025/11/14-apa-irc 07:28:15 RRSAgent, make logs Public 07:28:16 please title this meeting ("meeting: ..."), matatk 07:28:25 meeting: WHATWG, i18n, APA joint meeting 07:28:32 rrsagent, make minutes 07:28:34 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html matatk 07:28:41 Present+ 07:28:46 present+ 07:28:49 toshiakikoike has joined #apa 07:28:56 present- 07:29:02 present+ Matthew_Atkinson 07:29:03 MURATA has joined #apa 07:29:11 present+ Bert Bos 07:29:17 +present 07:29:28 fantasai has joined #apa 07:29:41 mehm8128 has joined #apa 07:29:57 saji has joined #apa 07:30:03 present+ 07:30:10 agenda: https://www.w3.org/events/meetings/5b6d7ac3-4382-4fb5-85b9-10a10876f5c3/ 07:30:19 RRSAgent, make minutes 07:30:20 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html xfq 07:30:26 berlysia has joined #apa 07:30:26 scribenick: fantasai 07:30:32 jkamata has joined #apa 07:30:47 present+ 07:31:00 zcorpan has joined #apa 07:31:07 Topic: APA + i18n + WHATWG Joint Meeting 07:31:11 present+ 07:31:21 anne has joined #apa 07:31:25 eemeli has joined #apa 07:31:34 fantasai has changed the topic to: APA + i18n + WHATWG Joint Meeting 07:31:49 r12a_ has joined #apa 07:31:50 topic: Symbols and Ruby semantics 07:31:50 https://github.com/w3c/html-ruby/issues/24 07:32:01 present+ 07:32:10 chrisp has joined #apa 07:32:19 Fazio has joined #apa 07:32:19 present+ 07:32:24 s/+present/present+/ 07:32:26 nicolo-ribaudo has joined #apa 07:32:32 present+ 07:32:34 present+ 07:32:35 present+ 07:32:40 hsivonen has joined #apa 07:32:49 gorohash has joined #apa 07:33:31 jkamata has joined #apa 07:33:40 duerst has joined #apa 07:33:43 matatk: Matthew, Janina's co-chair at APA and a member of the TAG 07:33:58 ... sharing an example of using symbols to help illustrate text on a page 07:34:19 ... Video is a major application 07:34:41 present+ 07:34:48 ... People who have trouble with text, use video, but have trouble with text like titles etc. in video 07:35:24 janina0: There's several hundred thousand people who struggle to use text, and using symbols is helpful. Want to make this possible as they currently have trouble using the Web 07:35:43 matatk: [shows a pancake recipe marked up with bliss symbolics as annotations] 07:36:02 ... It's a language that evolves over time. 07:36:28 ... Bliss is very comprehensive 07:36:29 this work directly correlates to WCAG 2.1's Success Criterion 1.3.4: Identify Input Purpose which has an autocomplete requirement 07:36:37 ... but there are also other symbolic languages 07:36:47 ... people generally only know one set of these 07:36:56 ... Bliss codifies some concepts, like our dictionary 07:37:06 ... authors can look up a concept and get the symbol 07:37:19 ... ARASAAC is more pictorial 07:37:30 ... Most of the time there's a 1-1 correspondance 07:37:40 ... But sometimes 1-2 or 2-1 with Bliss 07:38:03 ... We're proposing to do this stuff by using existing standards most of the way, and some proposed changes to ruby which will enable us to do the rest 07:38:29 ... How we expect it to work is, the concepts are going to be effectively the unicode codepoint strings that correspond to the Bliss "letters" that make up the concept 07:38:43 ... Bliss, or a subset of it, is going into Unicode (not official yet but on its way) 07:39:12 ... And because Bliss is effectively a superset, we can use those codepoints as a key into the concepts, and there can be a font that draws it into the right symbol set for the user 07:39:23 ... So we're using the font to do the mapping 07:39:38 ... Because the symbols are rendered above the text to which they relate, suggestion was to use Ruby to render it 07:39:44 ... However, that's not what the element is for 07:40:13 q+ 07:40:15 ... But there's a change being proposed for a "type" attribute, which in conjunction with lang= attribute, could identify annotations as being bliss and render appropriately 07:40:59 jcraig: type attribute is not specifically related to Bliss, but rather distinguish whether it's whether it's a phonetic key or a supplemental type 07:41:16 jcraig: We think combining supplemental with bliss lang, could identify without having any detrimental effect on CJK usage 07:41:28 q+ to ask if the type attribute impacts the a11y mapping 07:41:43 matatk: There's type attribute proposed, if that become part of the spec, we think we won't need further spec changes to do this as well 07:41:57 ... so this is why we are involved, because we would need that spec change to work 07:42:04 Is any coordination being done with AAATE, ATIA, or other organizations that specialize in AAC? 07:42:05 q? 07:42:08 q+ 07:42:09 ack florian 07:42:23 q+ 07:42:23 florian: Yes, the type attribute as being considered, primary purpose is to affect the accessibility rendering of this 07:42:33 ... there are use cases where you want to read the ruby and the base, and cases where you don't 07:42:45 ... in some cases reading one or other is only conveying half the info 07:42:56 ... but others it's phonetic annotation, and you should only read once 07:43:39 ... that's the fundamental purpose of this -- avoid reading it twice, because if you do it wrong it can be annoying to impossible to understand depending on the content 07:43:50 q? 07:44:01 ... So about this, what is the intended accessibility tree and screenreading effect that you expect for content like this? 07:44:25 The issue related to the proposed `type` attribute on Ruby is: https://github.com/w3c/html-ruby/issues/24 07:44:26 ... You mentioned using lang attribute, maybe that's all we need. Depends on what you want for audio rendering. 07:44:36 matatk: Bliss is a language, but we're only using it for list of concepts 07:44:42 q+ to ask about language-specific versions of bliss 07:44:46 ... so not doing any translation, using the font simply for mapping 07:45:00 ... none of the other symbols have language codes 07:45:02 q+ Isn't Bliss more appropriate a script rather than a language? 07:45:14 qv? 07:45:24 q+ to ask Isn't Bliss more appropriate a script rather than a language? 07:45:32 matatk: in terms of accessibility tree, we hadn't thought ths would be directly of use to screenreader users 07:45:44 ... as audience is people reading the text and using images to help understand the text 07:45:47 ... but it's an item in the page 07:45:54 q+ to ask whether the idea is really to use the same codes for bliss and arasaac 07:46:08 this should be a joint effort with Augmentative Alternative Communication manufacturers for compatibility so a user can import symbol sets as part of their Assistive Tech 07:46:20 ... I suppose my answer, I would expect it to work, essentially as a bunch of glyphs so you would get the Unicode names for each codepoint 07:46:35 ... so I expect the screenreader would announce those names 07:46:49 Florian: [example] 07:47:02 matatk: Yeah. That's my immediate impression. 07:47:42 matatk: If Bliss goes into Unicode (as we expect), only about 1300 are going in (7000-ish symbols) because we don't want to change unicode when adding to it 07:47:52 Yoshisato has joined #apa 07:47:53 ... hope to create new compounds from the existing codepoints 07:48:05 q+ to respond to Matt's comment about how screen reader users get localized symbols (including emoji, but presumably Bliss, too) 07:48:07 ... similar to creating variations on emojis 07:48:29 janina0: Didn't think about using with screenreaders. Don't think it has been tried. 07:48:44 jcraig: Haven't tried, but shouldn't be a problem. Do screenreaders + emoji all the time. 07:49:00 q? 07:49:05 ack zcorpan 07:49:05 zcorpan, you wanted to ask if the type attribute impacts the a11y mapping 07:49:07 q+ to mention low vision users use screen readers, too 07:49:14 q+ 07:49:23 zcorpan: What is a11y mapping for ruby with a type attribute? 07:49:33 ... for mode with reading base and not pronunciation ...? 07:49:38 florian: One is to read both in sequence 07:49:45 ... other is more subtle, I'll give an example in Japanese 07:50:07 ... when meant to read once, it's not "read the base" or "read the annotation", it's "read it once" and necessary information is in both 07:50:16 ... Japanese furigana is phonetic information, but it is incomplete 07:50:30 ... because Japanese is pitch language, some words differ by pitch alone 07:50:44 ... base text can disambiguate 07:50:53 ... on the flip side, if you hvae a base character, it can be read in different ways 07:51:14 ... phonetic annotation disambiguates which reading to use 07:51:20 q? 07:51:25 zcorpan: So would have to expose both 07:51:26 florian: Yes 07:51:54 ack MURATA 07:52:04 florian: Basically need "read a single pronunciation from both this info" vs "read both in sequence" 07:52:11 Murata: [introduces self] 07:52:13 Text to Speech of Electronic Documents Containing Ruby: User Requirements -> https://w3c.github.io/ruby-t2s-req/ 07:52:19 q+ to briefly mention one potential implementation for accessibility 07:52:19 ... I'm skeptical about introducing new type 07:52:37 ... If you have a dictionary for text-to-speech, you know the readings 07:52:51 ... if the attached ruby doesn't match any of the possibilities, then it is not a phonetic hint 07:52:56 ... and in that case, both should be read aloud 07:53:10 anne: So you can derive from the text? 07:53:24 MURATA: From text and a dictionary. If the ruby matches one of the readings, then it is phonetic. 07:53:36 ... Then you just choose that possibility from your dictionary, producing much better result. 07:53:44 ... If it doesn't match what's in the dictionary, it is not a phonetic hint. 07:53:52 ... And you have to read both the base and the ruby. 07:53:59 anne: Presumably all TTS needs a dictionary 07:54:11 MURATA: However dictionaries have been hstorically very limited 07:54:21 ... but now things are changing. Dictionaries are getting much better than before. 07:54:29 q? 07:54:30 q+ 07:54:30 ... When we use ruby for phonetics, I'm skeptical 07:54:38 ack fantasai 07:54:41 ack Fazio 07:55:00 Fazio: Initially I was excited about this work. I mentioned last year to head of assistive tech of ? and he expressed concern about creating symbol sets here 07:55:10 ... Alternative communication sets have a unique science to them 07:55:15 q+ to mention to Murata-san that it seems I have misattributed your view in the "consensus" notes from our lunch yesterday: https://github.com/w3c/html-ruby/issues/24#issuecomment-3520045245 07:55:15 ... There's a drawn-out process to create these 07:55:30 ... we need to involve created of these symbol sets in this work 07:55:40 ... so that we don't repurpose symbol sets for other purposes 07:55:58 ... [missed] 07:56:05 ... It's bring your own device, Internet recognizes it 07:56:07 qv? 07:56:11 ... we will run into ton of internationalization problems 07:56:22 [There may be the case that an author comes up with a new way to read some combination of characters that's not in the dictionary, even if the dictionary is quite big. But then the argument may be that both should be read, to make sure the listener gets the fact that this is a new reading.] 07:56:34 ... For example, we saw a symbol that looks like person getting feet massaged on a table, but it was emergency room for not feeling well 07:56:39 ... so symbols are not universal 07:56:42 matatk: +1 07:56:49 q? 07:57:28 ack duerst 07:57:28 duerst, you wanted to ask about language-specific versions of bliss and to ask whether the idea is really to use the same codes for bliss and arasaac 07:58:04 duerst: First question, the sybols on the left and right, did I understand you want to have bliss encoding, but display as on the right? 07:58:14 matatk: Yes, Unicode is encoding Bliss. 07:58:28 duerst: There's a 1-1 mapping defined... 07:58:44 anne: The codepoints create glyphs, use font to display 07:58:52 florian: And doesn't have to be 1-1, because can use ligatures if necessary 07:59:26 q? 07:59:34 duerst: You say Bliss is a language, but I suspect that there are also influences from the host language. 07:59:43 ... These people live in a community. 07:59:55 ... Things like syntax and word order 08:00:29 matatk: The various symbols sets that exist generally are designed with the cultural norms and sensitivies of a particular culture in mind 08:00:32 MURATA has joined #apa 08:00:42 ... It's up to the page author to pick the appropriate symbols. 08:00:54 ... We're not trying to translate here, just mapping from a concept that exists in Bliss 08:01:10 ... Things like word order don't come into it, because would follow word order of the page. 08:01:19 ... We're just adding pictograms to help the reader understand. 08:01:45 duerst: Maybe you need to mark it up as "bliss for English" or "bliss for whatever" 08:01:48 q? 08:01:56 r12a_: Or maybe tag the glyph variations 08:02:18 ... We're talking about using symbols for illustration 08:02:36 ack eemeli 08:02:36 eemeli, you wanted to ask Isn't Bliss more appropriate a script rather than a language? 08:03:01 eemeli: Following on from what Martin said, recognizing that Bliss forms its own language, my understanding is its use as ruby it would be much more helpful to consider Bliss to be a script, rather than a language. 08:03:24 ... The examples you show are annotations are on English grammar and structure and words, presenting English as Bliss, rather than Bliss as a language itself. 08:03:35 ... I think that aligns also with the understanding of how text-to-speech would handle this. 08:03:51 ... If the Bliss symbols are representing English, then the English content might indeed be the only thing that needs to be spoken out. 08:03:57 janina0: Bliss is not a spoken language 08:04:03 q? 08:04:04 duerst: It's closer to a sign language, yeah? 08:04:09 s/are on/on 08:04:12 janina0: It's a symbolic language 08:04:23 anne: yeah. But question is, if someone tries to read it with a screenreader, what happens? 08:04:26 ack jcraig 08:04:26 jcraig, you wanted to respond to Matt's comment about how screen reader users get localized symbols (including emoji, but presumably Bliss, too) and to mention low vision users use 08:04:26 q+ 08:04:30 ... screen readers, too and to briefly mention one potential implementation for accessibility and to mention to Murata-san that it seems I have misattributed your view in the 08:04:30 ... "consensus" notes from our lunch yesterday: https://github.com/w3c/html-ruby/issues/24#issuecomment-3520045245 08:04:31 jcraig: There's quite a few things to review 08:04:44 jcraig: Reading to Matt's comments about localizing symbols, such as emoji 08:05:00 ... The accessibility use case, even for spoken representation of this, isn't just blind users, but also low-vision users 08:05:08 ... who may be able to see the symbols on the screen 08:05:17 wouldn't screen readers need some kind of ignore tag for the bliss symbol because it would be redundant 08:05:20 ... You can point at a symbol and ask it to speak 08:05:37 ... There are different ways it's useful for a textual representation to be used even if not for blind user 08:05:51 q? 08:05:53 ... But also acknowledge that a fully blind user wouldn't use this, it's primarily a visual or symbolic representation 08:06:13 jcraig: Regarding localization, sometimes it's tied to the framework, sometimes tid to Unicode representation 08:06:21 ... but there's alternative text for a symbol or for a combination of symbols 08:06:31 ... Those get localized by the system into their own strings, which can have grammar as well 08:06:38 ... So each symbol could have a representation as well 08:06:46 ... it's closer to a sign language that spoken language 08:06:52 s/ tid/ tied 08:06:54 ... that said ASL and other SL have their own grammar 08:07:06 ... There's a separate transliterated sign language thats separate from ASL 08:07:28 jcraig: Murata-san, I thought we'd concluded that a type attribute would be needed! 08:07:28 s/that spoken/than spoken 08:07:33 ... so I was surprised 08:07:59 jcraig: Simon had asked about implementation detains, but this could be attributed strings. may not work for all platforms, but could work on Apple at least 08:08:08 ack r12a_ 08:08:28 s/detains/details 08:08:29 r12a_: As Janina said, there's no phonetic value to these glyph sets 08:08:38 ... the phonetic value is in the text they're associated with, and that's what would get read by a reader 08:09:01 ... The Bliss symbols can be used as a language because there's grammar, tense, etc. built into the way they are used when used as pure symbols 08:09:11 ... but the way used here, they are illustrations for individual words 08:09:14 ... different usage pattern 08:09:25 ... and that raises concern that one of the fundamental things we've discussed is a type for ruby 08:09:25 symbols usually illustrate sentences or actions not words 08:09:33 for AAC users 08:09:42 ... but the issue we were trying to solve was largely what Murata was discussing, which is how to pronounce stuff 08:09:47 ... not an open-ended classification 08:09:56 ... Do you pronounce the base or note, or some extra magic, or what 08:09:59 ... That's about pronunciation 08:10:14 ... and that worries me that we diverting ruby for other purposes 08:10:43 matatk7 has joined #apa 08:10:53 q? 08:11:17 Zakim, close q 08:11:17 I don't understand 'close q', anne 08:11:22 Zakim, close queue 08:11:22 ok, anne, the speaker queue is closed 08:11:22 ack florian 08:11:31 florian: The type attribute we've been discussing, it's not very mature 08:11:33 zakim, close queue 08:11:34 ok, jcraig, the speaker queue is closed 08:11:37 MURATA has joined #apa 08:11:38 ... next proposed step was "maybe write an explainer" 08:11:42 ... we'll be exploring, but still exploring 08:11:50 ... as to Murata-san's comment, I partly agree but only partly 08:11:58 ... As dictionaries get better, number of cases where UA can guess increase 08:12:05 ... but I don't think exhaustive complete dictionary can exist 08:12:15 ... There will always be cases they can't guess, and always UAs that have worse dictionaries than others 08:12:23 ... so if author can specify, there's a use case for that 08:12:28 ... but that's what explainer will be about 08:12:35 q? 08:12:37 qq+ 08:12:44 florian: As for here, the type attribute, if it comes to be, doesn't classify for purpose of classifying. It's to help accessibility tree 08:12:55 ... based on what you're doing, you're displaying them 08:12:59 ... primary goal is achieved 08:13:04 q- 08:13:05 for my memory, I have 2 comments: decorative, phrases not words 08:13:05 ... if you want to classify beyond that, for what purpose? 08:13:14 ... maybe you want to hide them, but then can just use class 08:13:16 ... or maybe not 08:13:28 ... but if we are classifying things, need to answer "to what purpose" 08:13:34 ... our purpose was pronuncation 08:14:17 r12a_: Additional concern wrt using ruby is, if we are using the glyph sets in Japanese, then yes, we may be able to distinguish whether pronunciation, but we already use ruby for text on both sides for descriptions as well as phonetics 08:14:24 ... so seems if we had 3 types of ruby, doesn't feel clean 08:14:28 q? 08:14:38 florian: Ruby can be nested infinitely, theoretically 08:14:48 ack Fazio 08:14:51 Fazio: First that comes to mind is, symbol set is non-text content 08:14:58 ... shouldn't it be marked as decorative? 08:15:15 ... it's redundancy of text that's already there 08:15:17 ... why read it 08:15:32 Fazio: Secondly, discussing symbols for words, but that's dangerous 08:15:40 ... if we think about in terms of words, we have autocomplete 08:15:48 ... someone using AAC, doesn't have symbols for items, more so for actions 08:15:58 ... so phone number would have image of making a phone call rather than a phone 08:16:06 If it is encoded in Unicode, it becomes text content, it's just cannot be read (or maybe it can be read using the Unicode names of the characters). 08:16:17 q? 08:16:18 ... plus if you have symbols for every word on page, ad nauseum 08:16:24 scribe+ 08:16:51 ack fantasai 08:16:54 fantasai: To Richard's point about distinguishing between Bliss as its own language vs as an annotation, and whether English, Chinese, or other variation on Bliss... 08:17:12 I liked eemeli's point that this might be a script. 08:17:18 fantasai: Maybe the language tag needs some thought on what it's doing - bliss with an English variant - zbl-en for example. 08:17:51 fantasai: I've heard several descriptions of what we're doing here. Need more info so the language tags can be correct. Maybe we need multiple patterns so the language tags can be correct. 08:18:25 fantasai: re type attribute, this was to distinguish the different types of pronunication we need. I don't think it would be problematic to introduce new types as long as they're reasonably exclusive of each other. 08:18:28 q? 08:19:16 s/zbl-en for example/zbl-en for example, or en-bliss i.e. English in bliss symbols, are two different concepts/ 08:19:38 matatk7: Next steps is explainer (s) 08:19:41 English in Bliss would be en-Blis. 08:19:52 MURATA has joined #apa 08:20:10 Zakim, open queue 08:20:10 ok, zcorpan, the speaker queue is open 08:20:10 Topic: DOM Localization 08:20:15 en-us-zbl? 08:20:19 topic: DOM Localization 08:20:33 berlysia has joined #apa 08:20:37 eemeli: Wanted to discuss whether to do this thing, and which things 08:20:45 ... and where to advance the work and where to do that 08:21:17 rrsagent, make minutes 08:21:19 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html matatk7 08:21:48 q? 08:22:19 eemeli: On Tuesday had breakout on DOM localization. I'll do a recap of what that means. 08:22:22 Breakout session on DOM localization -> https://www.w3.org/2025/11/10-dom-localization-minutes.html 08:22:47 ... we'd like to introduce localization as a capability of the Web Platform 08:22:55 slideset: https://docs.google.com/presentation/d/1ON2yeocyDSVr8r0cg8ZlhgpFfsvloznq1pJqYSADJs8/edit 08:23:06 ... Right now when you produce anything for more than one locale, you end up needing to find a solution for localization from the many available libraries out there 08:23:30 ... This ends up being slightly problematic, because nearly all of these eventually limit what is expressable in the UI that you present to your users 08:23:50 ... Most localization are just bits of strings, present in one locale or another. This is just text replacement. 08:23:56 ... This covers 80% of the work in most applications 08:24:10 ... Most of the rest is inserting a string into a placeholder. 08:24:20 ... Easily handled by simple solution, so often that's what's done. 08:24:30 ... What remains it the last few % of strings that don't fit this model. 08:25:01 ... E.g. "Number of unread messages: 3" rather than "You have 3 unread messages." vs "You have 1 unread message." vs "You have no unread messages." 08:25:12 ... Expression in human language thatis more natural vs what works for templating. 08:25:24 ... And the complexity of this varies a lot across languages. 08:25:52 ... These complexities are handled by systems that were built incrementally as the add capability for handling additional grammatical variations. 08:26:02 ... These end up limiting expressibility of content that needs to be localized. 08:26:12 ... It would be good improve sittuation of the Web for this! 08:26:29 eemeli: Last few years we've been working on a new message formatting specification called "Unicode Message Format" 08:26:35 ... which is a basis on which we ought to build a solution for the Web 08:26:37 https://messageformat.unicode.org/ 08:26:41 ... but it's not a whole solution 08:27:02 ... What exists now is part of UTS35, defines what a single message might look like 08:27:06 ... including dates, etc. 08:27:13 ... but doesn't say how to integrate with HTML content 08:27:19 ... e.g. a link that you might want to localize 08:27:27 ... How fundamentally do you combine a corpus of messages with a page? 08:27:36 ... This is DOM localization project! 08:27:59 ... For Mozilla we're particularly interested in this, because we discovered that various systems we used are not conducive to our use cases 08:28:03 ... including the developer experience 08:28:09 MessageFormat spec -> https://unicode.org/reports/tr35/tr35-messageFormat.html#Contents 08:28:23 ... so this experience is one of the things we built message format on 08:28:42 eemeli: What we would like to start introducing as part of HTML is a page could refer to localization resources 08:28:52 eemeli: Much the same way as referring to external style resources 08:28:59 s/eemeli: /... 08:29:06 ... and then refer to those messages 08:29:14 ... which then become part of the rendered page itself. 08:29:26 ... In the simplest case, it's a string entered into the content of the element 08:29:36 ... but could possibly include elements within itself (e.g. links) 08:29:47 q? 08:29:47 ... and could also affect not just the content of an element, but also attribute values 08:29:56 ... We already have in HTML spec translatable attributes 08:30:04 ... which correspond with sorts of content we want to make localizable 08:30:25 ... This of course relies on having something like [slide] a resource file format for localizable content 08:30:29 ... where you can have key to value mappings 08:30:38 ... which the run-time system can then handle 08:30:59 eemeli: Now is the time to build the details of this at W3C, building on top of the work at Unicode CLDR 08:31:02 translatable attributes: https://html.spec.whatwg.org/multipage/dom.html#translatable-attributes 08:31:02 q+ to ask about line-drawing and accessible names 08:31:10 ... And that has led to these big questions [slide] 08:31:28 1. Should we work on introducing localization as a capability of the Web platform? 08:31:37 2. Is the i18nWG an approriate form for this standardization? 08:31:44 3. How specific to localization should the HTML capabilities be? 08:31:49 q+ to ask why this ought to be done on the client 08:32:12 s/approriate/appropriate 08:32:24 q+ 08:32:34 eemeli: For example, we could limit capabilities or expand them, which changes the design 08:32:38 q? 08:33:23 matatk7: I see the use cases, and I've seen them in native apps wher emore app-oriented content 08:33:39 ... where the line is drawn as to whether goes into page or into message file, wondering how you draw the line 08:33:51 ... also, example you gave is a button 08:34:01 ... how would that relate to attribute to attributes like aria-label 08:34:08 ack me 08:34:08 matatk, you wanted to ask about line-drawing and accessible names 08:34:25 eemeli: Do we want to build a system for UI-type strings, or do we want to build a system that is well-supportive of longer-form content that may be localizable. 08:34:41 ... Valid question, both answers are valid. Have to decide. 08:35:00 q+ to say there's probably demand for a templating system in general 08:35:17 ... wrt aria-label, they are considered translatable, so you would put those in the attribute localization 08:35:23 ack jyasskin 08:35:23 jyasskin, you wanted to ask why this ought to be done on the client 08:35:23 ... [shows syntax] 08:35:27 q+ to ask how this would work across non-leaf-node element boundaries like `You have 12 messages.` 08:35:35 jyasskin: Generally think this is a good idea. But why should it be done on the client side? 08:35:47 eemeli: Because it can, and because it's not always clear what is best done on client or server 08:35:57 ... if we design the system to work on the client, it becomes easy to move that work to server side 08:36:30 ... In a context where web page is interactive and user could enter a number, and process on the client side where could result in a message that is dynamically displayed 08:36:42 ... then need to manage that localization 08:36:53 ... But if we start with server-side assumption, much more conflict and mismatch. 08:37:00 ack florian 08:37:17 florian: This looks like something that could be client-side or server-side, better to design to be able to do either way 08:37:31 florian: You mentioned injecting not just plain text, but possibly marked-up text 08:37:38 ... because markup might depend on language 08:37:38 [[sorry this is late] Status of Blissymbols in Unicode: see https://www.unicode.org/roadmaps/bmp/, where Blissymbols are listed as a script for which proposals have been formally submitted to the UTC or to WG2, with a link to https://www.unicode.org/L2/L2023/23138-n5228-blissymbols.pdf.] 08:37:46 ... and in some cases might need to transform the tree 08:37:56 ... we need to not accidentally re-invent XSLT 08:38:06 ... We should not try to create generic transforms, and that's not our goal. 08:38:18 q+ 08:38:20 eemeli: Would like to make that goal / non-goal clear. 08:38:32 ... I am an i18n/l10n guy, so not my place to say what the maximum limits are 08:38:46 florian: If we wanted XSLT, we'd use XSLT. Let's not accidentally go there. 08:38:52 ack fantasai 08:39:32 fantasai: I think it's good to produce correctly and robustly localizable web applications. I think it needs a specific WG to do the work. 08:39:46 fantasai: I agree with florian that we should not be trying to create a generic translation system. 08:39:53 q? 08:39:55 fantasai: It should be based on localization, and stick to that. 08:40:06 eemeli: So intent is, to liimt work to "what does syntax of a file like this look like" 08:40:09 ... not how it is used 08:40:14 scribe+ 08:40:25 ... or how it is used or integrated in HTML 08:40:29 fantasai: I think you need to think of these all together. 08:40:37 fantasai: And i18n is not the right group. 08:40:44 q+ to say this looks sort of like client-side lproj, which may provide some benefit auto-translation if multiple provided languages were considered when translating to a non-provided language. 08:40:47 florian: I expect interest with with i18nWG wraps, so you should draw from this community 08:40:50 ... but not only 08:40:53 ... start in incubation 08:41:12 ... but pull in these folks 08:41:43 r12a_: HTML Bidi doc from Aharon Lanin started here, but then moved into HTML for implementation 08:41:52 ack zcorpan 08:41:52 zcorpan, you wanted to say there's probably demand for a templating system in general 08:42:02 zcorpan: There are other use cases for replacing strings in a tree, e.g. templating 08:42:08 ... and there are proposals for that "DOM Parts" 08:42:13 q+ 08:42:26 ... maybe it would make sense to integrate, or layer one on top of the other, so we don't have incompatible templating systems 08:42:51 eemeli: So that would expand space of the solution to beyond localization, to be about templating and other factors 08:43:01 zcorpan: Yes, but templating could be designed for templating, and maybe this uses templating 08:43:08 ... might not increase complexity for localization 08:43:12 ack me 08:43:12 jcraig, you wanted to ask how this would work across non-leaf-node element boundaries like `You have 12 messages.` and to say this looks sort of like client-side 08:43:14 anne: For this to happen, the other thing needs to happen first 08:43:15 ... lproj, which may provide some benefit auto-translation if multiple provided languages were considered when translating to a non-provided language. 08:43:39 jcraig: My first point echoes Simon and Anne. At some point you'll want to have something to localize that's not just a flat string 08:43:48 ... Another thing is, what's benefit of this over server-side translate 08:43:58 ... Not clear to me if this is client-side with replacement strings 08:44:21 ... but future benefit with if you provide English, Spanish, Urdue, maybe you can produce better translate for 4th language via tools 08:44:29 ... Not clear what real problem to solve 08:44:49 q? 08:44:51 s/Urdue/Urdu/ 08:44:55 matatk has joined #apa 08:45:00 scribe+ 08:45:46 fantasai: The example that was given earlier, if you're generating on the client side... if all you have is simple strings that don't need morphological changes, you can template in on the server side the generation of the labels.... 08:46:31 ... but if you have something that needs linguistic processing - like number of messages - you have to have that on the client side because it needs dynamic info. And then if you are doing it on the server side too you are duplicating on both sides. 08:46:53 ... and you can send just the language that the user is in. E.g. this is an English page, so it can just link to the English localization resource. 08:47:11 ... But the framework of being able to solve these dynamic localization problems is the focus here. 08:47:13 q? 08:47:25 ack anne 08:47:34 anne: There's also Uncode MessageFormat going on? 08:47:45 eemeli: Yes, this is building on that technology 08:47:51 ... But MessageFormat is about a single message 08:47:54 ... plaintext 08:48:08 ... whereas we're dealing with more complex content, can include markup, attributes, etc. 08:48:35 ... The resource fileformat this this is an example of, this shows how to combine keys and values 08:48:43 ... MessageFormat is only about a single key-value pair 08:48:54 ... I tried to push for an expanded scope 08:49:01 q+ to ask if we need a way to define the MessageFormat functions 08:49:01 ... but they did not want to be in the business of defining a file format 08:49:21 ack r12a_ 08:49:41 r12a_: I develop lots of content, and one is family history. I don't want that to go through a server for privacy concerns. So glad there would be a client-side solution. 08:50:00 ack fantasai 08:50:10 fantasai: responding to how this integrates with templating 08:50:39 ... if there's a templating effort, these should be worked on together, because the needs of localization should be taken into consideration by the templating system and vice versa 08:51:11 ... templating system needs localization knowledge, and localization needs to be compatible with templating approach. 08:51:13 q+ 08:51:25 anne: Templating might take awhile, first need to define insertion points 08:51:38 ... but prior iterations, it does have all the bits you want to mutate. Children, attributes, etc. 08:51:52 ack jyasskin 08:51:52 jyasskin, you wanted to ask if we need a way to define the MessageFormat functions 08:52:20 jyasskin: MessageFormat has to insert child nodes, need to make consistent with templating stuff 08:52:34 ... IIRC MessageFormat also has environment-defined functions. Would that be part of that integration? 08:52:44 eemeli: Yes, eventually. But not a first-pass solution. 08:52:55 ... a lot of this can be advanced iteratively 08:53:08 ... We can introduce part of the capability, and partial support for what is expressible in MessageFormat 08:53:18 ... in a way that can allow for later extension to support more 08:53:33 q? 08:53:36 ack florian 08:54:14 florian: There are numerous localization frameworks that started with hypothesis that was too simple 08:54:29 ... and ended up horrendously complex because they had to accumulate complexity ad-hoc 08:54:32 ... we want to avoid that situation 08:54:42 eemeli: Worked out compromise with MessageFormat 08:54:55 ... some work in DOM Parts for definign some placeholders 08:55:13 ... if we build on top of that, it would become very easy to end up with an iterative mess or two different templating systems to support, which nobody wants 08:55:35 ... MessageFormat syntax also supports function calls, formatting, selector functions, and other complexities necessary for linguistic variability of human language 08:55:47 ... but also tried to limit, not everything we can imagine, but things which are necessary 08:56:24 eemeli: A bit challenging to figure out how to solve? Need a new WG? 08:56:25 q+ 08:56:34 florian: Suggest going informally for awhile, then make a WG. 08:56:37 matatk6 has joined #apa 08:56:44 Explainer: https://github.com/w3c/i18n-discuss/blob/gh-pages/explainers/message-resources.md 08:56:46 q? 08:56:58 eemeli: Explainer, proposed solution, including ABNF and a data model description on how to interpret meaning of the file 08:57:16 ... for DOM Localization parts, not absolutely clear to me, should I be filing a WHATWG issue or ...? 08:57:34 ... Is that work something that ought to wait for MessageResource work to be further along 08:57:43 anne: Filing an issue against WHATWG HTML or maybe DOM would be better 08:57:52 ... Earlier is better, because then if ppl interested, they can get involved 08:58:08 eemeli: Usage of MessageFormat needs to be accounted for in MessageFormat design 08:58:27 ... but things like comments and metadata for communication between developers and translators 08:58:33 q? 08:58:35 matatk6: Lots of work, but next steps seem to be clear. 08:58:49 ack xfq 08:59:25 rrsagent, make minutes 08:59:26 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html matatk6 09:00:16 scribe+ 09:00:20 xfq: We have a preliminary explainer, which we can incubate at i18n. Once the discussions are more thorough, we can consider forming a working group or other next steps. Everyone is welcome to join the i18n WG discussions. 09:00:31 rrsagent, make minutes 09:00:33 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html zcorpan 09:00:40 RRSAgent, make minutes 09:00:41 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html xfq 09:00:47 zakim, end meeting 09:00:47 As of this point the attendees have been janina, matatk, Matthew_Atkinson, Bert, Bos, present, xfq, jyasskin, Kitahara, r12a_, chrisp, eemeli, Fazio, zcorpan, chiace 09:00:47 RRSAgent, please draft minutes 09:00:48 I have made the request to generate https://www.w3.org/2025/11/14-apa-minutes.html Zakim 09:00:55 I am happy to have been of service, matatk6; please remember to excuse RRSAgent. Goodbye 09:00:55 Zakim has left #apa 09:02:10 berlysia has left #apa 09:24:22 daniel-mac has joined #apa 10:38:45 daniel-mac has joined #apa 13:12:26 plinss has left #apa 14:35:33 janina0 has joined #apa 16:38:25 kirkwood_ has joined #APA 19:05:07 kirkwood_ has joined #APA 22:44:20 kirkwood_ has joined #APA