23:55:18 RRSAgent has joined #aria 23:55:19 logging to https://www.w3.org/2019/09/15-aria-irc 23:55:30 rrsagent, meeting spans midnight 23:55:41 rrsagent, make log world 23:56:58 meeting: ARIA F2F TPAC - Day 1 23:58:03 present+ 00:02:12 Irfan has joined #aria 00:02:26 present+ 00:05:51 Jemma has joined #aria 00:07:52 mck has joined #aria 00:10:59 rrsagent, start meeting 00:10:59 I'm logging. I don't understand 'start meeting', Jemma. Try /msg RRSAgent help 00:11:10 rrsagent, start the meeting 00:11:10 I'm logging. I don't understand 'start the meeting', Jemma. Try /msg RRSAgent help 00:16:08 kzms2 has joined #aria 00:17:47 present+ Joanmarie_Diggs 00:18:07 present+ JemmaJaeunKu 00:18:44 zcorpan has joined #aria 00:18:56 spectranaut has joined #aria 00:19:01 present+ 00:19:44 AmeliaBR has joined #aria 00:20:26 present+ Simon Pieters, Bocoup 00:21:34 https://docs.google.com/spreadsheets/d/1eeq-xg0li2IKEIiyKsqhv-QOxArtbTV3m0OrG8ns-w4/edit#gid=1197832563 00:23:11 TOPIC: Introduction 00:23:50 Scribe:Jemma 00:24:40 present+ Valerie Young, Bocoup 00:25:28 present+ Valerie_Young 00:25:55 rrsagents, make minutes 00:26:24 rrsagent, make minutes 00:26:24 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html Jemma 00:26:36 achraf has joined #aria 00:26:52 rrsagent, make logs public 00:27:12 achraf_ has joined #aria 00:27:43 present+ james_craig 00:28:23 TOPIC:1.2 Tasks for publication 00:30:12 https://www.w3.org/2018/11/aria-charter 00:30:21 Joanie: new ARIA charter 00:30:50 https://w3c.github.io/spec-releases/milestones/?rec=2019-12-19 00:32:03 https://w3c.github.io/spec-releases/milestones/?cr=2019-11-21 00:32:10 Joanie: we have the deadline to meet, Oct 3 2019. 00:32:45 zcorpan has joined #aria 00:32:49 "Latest date to request wide review of the Working Draft Thursday, October 24 2019" 00:32:54 SONG_JAEIL has joined #aria 00:35:28 https://github.com/w3c/aria/wiki/Plans-regarding-role-parity 00:35:43 joanie: to meet the deadline we need to discuss about the scope for ARIA 1.2 00:36:43 s/the deadline/the deadline of Oct. 24 00:38:15 https://github.com/w3c/aria/wiki/Plans-regarding-role-parity#no-consensus-yet-need-to-decide-1-2-or-1-3 00:40:36 jamescraig: we should not do password 00:41:03 from the list of "No consensus yet" 00:41:14 canvas (#927) 00:41:14 details (#928) 00:41:14 embed (#929) 00:41:14 input (type=color) (#930) 00:41:15 input (type=date) (#931) 00:41:16 input (type=datetime-local) (#932) 00:41:19 input (type=file) (#933) 00:41:21 input (type=month) (#934) 00:41:24 input (type=password) (#935) 00:41:26 input (type=time) (#936) 00:41:29 input (type=week) (#937) 00:41:31 object (#938) 00:41:34 rp (also check with i18n) (#488) 00:41:36 rt (also check with i18n) (#488) 00:41:39 ruby (also check with i18n) (#488) 00:41:41 summary (#939) 00:42:21 jamesn: aria details in the agenda later. 00:43:28 JamesCraig: aria-details with summary can be complex.. 00:44:06 cooper: I think aria-deatil is less of high priority 00:44:40 Jamesn: explaining about the concept of "generic role"... 00:45:57 q+ JamesC 00:46:28 q+ 00:47:00 q+ to suggest if you were creating a web component it could be substantially similar to equivalet HTML 00:48:10 ack JamesC 00:48:23 q+ JamesC 00:48:29 ack me 00:49:44 +q 00:50:24 present+ 00:50:42 ack MichaelC_travel 00:50:42 MichaelC_travel, you wanted to suggest if you were creating a web component it could be substantially similar to equivalet HTML 00:50:54 ack JamesC 00:51:22 jamesc: the reason for pushing role parity is in part for testing. 00:53:14 ..multiple browsers can have the same context and so that they can consistently pass the testing. 00:53:48 q+ To ask why not computed role 00:54:17 jamesc:role parity can help each browsers can have consistent result for automated testing. 00:55:42 song_jaeil_ has joined #aria 00:55:46 q? 00:56:27 song_jaeil_ has joined #aria 00:57:54 ack jemma 00:58:00 MichaelC_travel_ has joined #aria 00:59:22 I was wondering of what exact differece James and Matt have since I think you two are talking the same thing. 01:00:44 q+ 01:05:24 q- 01:05:54 ack spe 01:06:52 spe: from web dev perspective, aria should be easily matched to html. 01:09:14 spe: I was wondering when JamesN talk about the complexity of "label" what complexity he is referring to. 01:09:37 james: I was thinking about how we can make acc name calculation be easier rather than going through multiple steps of name calculation. 01:12:15 group is talking about "complexity"...according to the level of developer expereinces, or the case framework developer 01:13:35 jaemsc: Therefore, additional ways to encapusulate like Matt king mentioned may give the flexibilty to different audiences. 01:14:03 q+ 01:14:22 q+ 01:14:28 ack joa 01:14:46 q+ 01:15:58 q- 01:16:07 Joannie: by the end of this week, we may need to decide from three options, 1)forgot about this, 2) partial implementation for role mapping, 3)naming for authors need to happen so we will get the name right and etc till ARIA 1.3 01:17:51 q+ to ask if reversing referencing for labels would have implications for AT? 01:22:07 ack ir 01:25:34 Mockup for an ARIA label replica: https://codepen.io/Moiety/pen/a9d69ca0bbdadabb89828daed014203d / debug link: https://s.codepen.io/Moiety/debug/a9d69ca0bbdadabb89828daed014203d 01:26:28 ack zoe 01:26:28 ZoeBijl, you wanted to ask if reversing referencing for labels would have implications for AT? 01:28:05 Joannie: The group agrees that naming calculation should be consistent with HTML as much as it can in principle. The group needs more time for gathering naming calculation requirments. The related questions will be the detailed ARIA workflow such as implmentation, APG work, testing and more. The group will add the info to the notes for now so that we don't confuse the Spec users. 01:30:49 joannie: If there is any issue like what Irfan addressed, plese file the issue to ARIA git hub so that the group can disucss/look into the issue. 01:31:22 https://github.com/w3c/aria/issues 01:32:19 irfan: do I file the issue individually? 01:33:39 joannie: avoiding the duplicate is preferrrable. please use your judgement. also the group does triage for the issues. 01:34:07 q+ to break 01:34:21 ack me 01:34:21 jamesn, you wanted to break 01:36:32 jcraig has joined #aria 01:38:13 s/till ARIA 1.3/ till ARIA 1.3. The group is going with option 3. 01:41:21 s/Spec users/Spec users. Please refer the ARIA workflow documentation. https://www.w3.org/WAI/ARIA/workflow 01:42:51 jcraig_ has joined #aria 01:50:58 spectranaut has joined #aria 01:58:59 zcorpan has joined #aria 02:01:22 Jemma has joined #aria 02:01:31 zakim, who is here? 02:01:31 Present: jamesn, Irfan, Joanmarie_Diggs, JemmaJaeunKu, melanierichards, Simon, Pieters, Bocoup, Valerie, Young, Valerie_Young, james_craig, ZoeBijl 02:01:34 On IRC I see Jemma, zcorpan, jcraig_, jcraig, MichaelC, song_jaeil_, SONG_JAEIL, achraf_, achraf, AmeliaBR, kzms2, mck, RRSAgent, Zakim, melanierichards, github-bot, jamesn, 02:01:34 ... ZoeBijl, bigbluehat, Josh_Soref, joanie, slightlyoff, timeless, JonathanNeal, trackbot 02:02:33 spectranaut has joined #aria 02:02:42 TOPIC: aria-brailleroledescription 02:03:08 https://github.com/w3c/aria/issues/1001#issuecomment-527125274 02:03:26 Irfan has joined #aria 02:04:40 present+ 02:04:55 scribe: ZoeBijl 02:05:13 https://github.com/w3c/aria/issues/1001#issuecomment-527125274 02:05:14 https://raw.githack.com/pkra/aria/braille-props-roledesc/index.html#aria-brailleroledescription 02:05:45 JD: I put a link to the latest aria-brailleroledescription proposal 02:05:58 as you may recall during the 1.1 cycle we came up with roledescription 02:06:43 role descriptions can be pretty long 02:06:57 braille lines can be pretty short 02:07:16 if you allow authors to do something they will likely do it 02:07:43 JC: Are we proposing braille cells or strings as values? 02:07:49 JD: we’ll get into that 02:07:59 What Peter tried to do is… 02:08:11 chris_ has joined #aria 02:08:17 encourage ETS the ability to do this but discourage authors from doing this 02:08:37 I want to get a feel for, are we OK with landing this? 02:08:52 Peter has been working hard on this and ETS has use cases for this. 02:08:58 q+ 02:09:00 I will open up the floor 02:09:08 ack jcraig 02:09:17 JC: I think it makes sense 02:09:23 kurosawa has joined #aria 02:09:25 I proposed roledescription a while back 02:09:31 like “slide” comes up a lot 02:09:48 A bunch of native implementations of screen readers 02:09:51 Like voiceover 02:10:00 They pronounce Button, but print btn to braille 02:10:15 https://raw.githack.com/pkra/aria/braille-props-roledesc/index.html#example-28 02:10:19 mhakkinen has joined #aria 02:10:21 In example 28 we have “pln” to mean “planet” 02:10:44 q+ 02:11:00 What it should be is a string that is then interpreted by ?? 02:11:12 JN: ??? 02:11:20 JC: If I understand your question, yes 02:11:24 q+ 02:11:34 If we’re going to print it to the braille display we pull it through an interpreter 02:11:42 JD: I’m not disagree, trying to understand 02:11:43 ack me 02:11:53 Isn’t btn always btn? 02:12:01 JC: Braille is different in every language 02:12:11 JD: Isn’t a B always a B? 02:12:20 JC: In western languages, yes 02:12:36 But in Japanese braille it’ll probably be different 02:13:49 JD: Any author that doesn’t know which braille cells to put in probably shouldn’t put them in. 02:14:05 JC: VoiceOver has specific braille string that are shortened etc 02:14:16 For example btn for button or pln for planet 02:15:03 q- 02:15:19 Let’s say the role description is “people” 02:15:33 for grade 1 it would be printed as the entire string 02:15:43 In different grades it could be just the letter “P” 02:15:56 MK: I’m still sorta confused James 02:16:03 roledescription is like aria-label already 02:16:04 s/JN: ???/In VO your braille API accepts a string and that is then translated into the braille string/ 02:16:12 the localisation is the authors responsibility 02:16:15 q? 02:16:23 you localise roledescription you localise the label 02:16:51 I’m saying: 02:16:52 aria-brailleroledescription="⠏⠇⠝" 02:16:52 role is localised, the role names aren’t localised 02:16:58 should be: 02:17:05 aria-brailleroledescription=“pln” 02:17:24 from: https://raw.githack.com/pkra/aria/braille-props-roledesc/index.html#aria-brailleroledescription 02:18:42 q+ 02:19:28 MK: JAWS has its own abbreviations for these things 02:21:13 MK: authors should provide a legend for the abbreviation on the page 02:22:51 JC: I’m saying that the brailleroledescription value should be latin characters rather than unicode braille characters. 02:22:59 +1 to jcraig's suggestion 02:23:26 MK: Say you have the string “bl” 02:23:37 I wonder if it could somehow end up being blind 02:24:06 q+ to ask if someone can provide information on these “grades”? 02:24:58 JC: I have a colleague that’s from Germany. They use their entire system in English, except for braille, which is set to German. 02:25:33 There are only so many braille characters 02:25:55 What I’m saying is leave the translation (latin to braille) to the screen reader 02:26:03 ack joa 02:26:17 JD: I don’t know if this is the case or not 02:26:31 Is there a case where you have a task where ?? would contract braille 02:28:24 MK: I don’t understand in the proposal what is the method for communicating the dots in the string 02:28:37 JC: I can paste the rendered characters 02:29:08 JD: The intent was that the authors already know what the localisation is 02:29:25 MH: I think I’m not a fan of putting braille characters there 02:29:31 I agree with James C 02:30:11 Screen readers already handle contraction for Braille, so naively I think the description should be a long form description in the localized language. 02:30:24 q? 02:30:29 *JC demonstrates VoiceOver speaking braille* 02:30:33 ack zo 02:30:33 ZoeBijl, you wanted to ask if someone can provide information on these “grades”? 02:30:37 ack Z 02:31:36 JD: So we don’t want actual braille characters in brailleroledescription 02:31:39 Is there anything else? 02:32:18 JC: There are different kinds of braille 02:32:30 JN: That’s my recollection of why this is there 02:32:40 MK: For roledescription the issue might be a bit different 02:32:47 An explanation of braille formats. https://www.seewritehear.com/learn/an-explanation-of-braille-formats/ 02:32:47 JN: Ah then it might’ve been for aria-label 02:32:49 q+ 02:33:32 ack me 02:33:51 JD: What if we make it that authors can put in ASCII or the actual braille 02:34:30 We’re not gonna have maths in there 02:34:36 MH: Weeeeelll… 02:34:40 q+ 02:34:54 JD: Allowing authors to put in actual braille characters 02:35:14 …if they know what they’re doing 02:35:35 JC: Perhaps change the example to ASCII but still allow unicode braille input 02:35:46 Steers authors in the right direction 02:35:54 s/Steers/Steer/ 02:36:14 MK: That means that AT is required to do some preprocessing 02:36:20 to see which characters are in there 02:36:36 ack chr 02:37:31 s/ASCII/a non-braille string/g 02:39:23 https://github.com/w3c/aria/issues/765 02:39:44 Conclusion is in https://github.com/w3c/aria/issues/765 02:39:57 zakim, next item 02:39:57 I see nothing on the agenda 02:40:03 scribe: melanierichards 02:40:10 topic: Speech (James Craig issue) 02:40:47 https://github.com/w3c/aria/issues/1038 02:40:52 jcraig: there's a number of diff ways to use your voice to control devices. Dragon Naturally Speaking, Android has one in beta (I believe). MacOS, iOS, we announced voice control. Soon to be released 02:41:11 jcraig: existing support in a number of these tools to use either the rendered text, or the accessible label, to activate it. 02:41:26 jcraig: rendered text is "more", label is "more about widgets", and you can speak either 02:41:44 jcraig: any mail app usually renders the check mail button as an envelop icon 02:42:01 https://developer.apple.com/documentation/objectivec/nsobject/3197989-accessibilityuserinputlabels 02:42:03 jcraig: what we've added to public API in iOS 13 is accessibilty user input labels, label synonyms 02:42:33 jcraig: we could render 1+ optional strings. "envelope" could be one of those. Screen reader user would only hear the primary label 02:42:57 jcraig: there's API that's currently on used by voice control on iOS, but in theory could be used by [missed] keyboard access 02:43:17 jcraig: 1+ optional things that can be used in addition to label to get to the element quickly 02:43:29 jcraig: don't want users to have to memorize different labels across apps 02:43:42 jcraig: not sure if this should land in ARIA, but seems like a good group to start 02:43:50 aboxhall has joined #aria 02:43:56 jcraig: I'm not convinced ARIA because ARIA doesn't really have concept of array of strings in a content attribute 02:44:14 jcraig: that's my proposal, questions? 02:44:47 mck: if it was part of DOM, are you saying that DOM would land some stuff in the acc tree? This has to get into a11y APIs to be useful 02:45:22 jcraig: yeah, say there was a property on an element that maps into APIs...the only problem with content attribute is what are you going to use for the string splitter? single quotes? Feels awkward 02:45:44 mck: so you're not suggesting we would add a new kind of attr value, like an array, in ARIA? 02:45:45 spectranaut has joined #aria 02:45:56 jcraig: I'm not suggesting that fits into the normal DOM attr content structure 02:46:10 jcraig: closest we have is token list; space separated. But some of these may have space in the string 02:46:31 mck: sure would be nice to have maybe JSON syntax for arrays in a content attribute? 02:46:37 [nervous giggling] 02:47:04 jcraig: I can come back with a concrete suggestion? 02:47:15 jamesn: seems reasonable, not 1.2 but can be worked on in parallel 02:47:26 jcraig: I could also take it to WICG 02:47:37 jcraig: could propose as DOM rather than ARIA 02:48:00 mck: if there isn't a way to express in content, seems interesting. What would you actually propose in a PR in ARIA? 02:48:22 jcraig: IDL for extending element interface for an array of strings. But ARIA hasn't done that yet, closest is reflected attr so far 02:48:36 jamesn: can you still do it in a declarative manner that way? Probably want to do it declaratively 02:48:51 jcraig: that's why I took it here, why do you think declarative? and how would you implement in the DOM? 02:49:10 jamesn: I have a feeling authors will want to do this in a simpler method than have to add scripting 02:49:21 mck: seems like you're already doing scripting here/ 02:49:30 jamesn: [gave example of simple form button\ 02:49:35 s/\/] 02:50:06 jcraig: anyone know of precedent for overloaded attributes, define the attribute, redefine the attribute, etc in a declarative fashion? 02:50:27 q? 02:50:36 [quiet room] 02:50:53 jamesn: I'm not adversed to doing just in IDL, if it solves it for most users 02:51:05 such as foo=bar foo=baz, etc? or foo1=bar ffoo2=baz… I don’t know of precedent top that effect. 02:51:09 jamesn: solving for 90% sounds better than doing nothing 02:51:19 s/top/to/ 02:51:54 mck: if you did it in DOM, not you're for sure limiting it to scripting anyway. No advantage in ARIA unless we come up with declarative way to do it 02:52:13 jcraig: advantage is we can pull ARIA into contexts other than declarative interface 02:52:38 jcraig: could be a standalone spec as well 02:52:47 `data` attribute might be a useful precedent? 02:52:50 Jemma: an ARIA property with a token list 02:52:59 tokenlist is space separated, but some of these strings may include spaces 02:53:00 Jemma: there's one for aria-dropeffect property 02:53:13 jcraig: token list is space-separated, and these strings might include spaces 02:53:46 mck: you could use a character that you'd never include in a label, like a semicolon 02:53:49 jcraig: or a vertical bar 02:53:58 [Matt and James C agree feels messy] 02:54:10 q+ 02:54:12 mck: decision of what character you choose may have ramifications down the line 02:54:25 s/a character/another split separation character/ 02:54:28 ack ch 02:54:29 mck: maybe people go crazy for this kind of type 02:54:54 chris_: agree token list doesn't work here, there are characters that are unlikely to be spoken, but that seems special-casey to me. 02:55:56 q+ re dataset 02:56:04 chris_: if we extend this concept down, and some are space-separated, others have different separator. Spaces are an innappropriate separator. Separator chars are assuming a certain context, like a certain spoken language 02:56:25 jcraig: I suppose we could backslash our spaces but that seems dirty too 02:56:49 jcraig: in those cases where we think it's rare to be used we could use backsplash 02:56:53 [noises of dissidence] 02:57:00 ack ab 02:57:00 aboxhall, you wanted to discuss dataset 02:57:06 jcraig: open to discussion, don't think it should be a content attr 02:57:50 aboxhall: one places where we have precedence is associate arrays dataset. That's specially specced in the HTML spec, this would have to be specially specced too. Tricky 02:58:14 aboxhall: aria-labelsynonym1, -2, -3 02:58:33 Jemma: we're not ready for implementation details yet, just brainstorming? 02:58:35 jcraig: yes 02:58:39 Jemma: what's next step 02:58:48 jcraig: I'll come back with a concrete proposal 02:58:52 Link for dataset https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset 02:58:54 jcraig: Alice's suggestion is the best one so far 03:00:22 clarifying: "Alice's suggestion is the best one so far” 03:01:02 I will note be including a declaritive content attr approach in the proposal, but off the brainstorming ideas, Alice's suggestion is the best one so far 03:01:17 s/note/not/ 03:35:27 jcraig_ has joined #aria 04:00:59 kurosawa has joined #aria 04:01:34 MichaelC has joined #aria 04:02:32 mck has joined #aria 04:02:46 spectranaut has joined #aria 04:04:01 TOPIC: Table Ontology 04:04:18 "I propose a single segment on the topic of "Effects of ontology on table and grid" for discussing approaches to resolving the following 3 issues: 04:04:18 Issue #1022: (Consider prohibiting name from contents for rows in static (non-grid) tables. 04:04:18 Issue #1008: (Should aria-selected be allowed on row, columnheader, or rowheader in table? 04:04:18 Issue #79: WAI-ARIA 1.1: Cell and gridcell, which proposes depricating gridcell. 04:04:19 I don't believe we need non-WG participation. 04:04:19 I think it will take a solid hour or more to clearly layout the problems and weigh options." 04:06:19 https://github.com/w3c/aria/issues/1022 04:06:29 https://github.com/w3c/aria/issues/1008 04:06:33 https://github.com/w3c/aria/issues/79 04:06:51 ZB: Those are the relevant issues for this topic 04:07:28 Irfan has joined #aria 04:07:31 present+ 04:07:39 MK: Highlevel, there are some places in ontology where we have the same role can either be a widget or a structure 04:07:49 And some places where we have two distinct roles 04:07:56 One for the widget and one for the non widget 04:08:04 song_jaeil__ has joined #aria 04:08:11 One place where we have the same role for role and structure is row and separator 04:08:20 Normally like a row in a table is always a structure 04:08:27 A row in a grid is always a structure 04:08:33 A row in a tree grid can be both 04:08:38 Because it can be selectable 04:08:41 present+ 04:08:50 So that’s the same role for widget and structure purpose 04:08:57 Another example of this is separator 04:09:04 If it’s focusable it’s a widget 04:09:11 If it isn’t focusable it’s a structure 04:09:20 In some places we have the reverse 04:09:30 An example of that is grid cell and cell 04:09:34 If you have a cell in table 04:09:38 You use the cell role 04:09:44 but in a grid you use the grid cell role 04:09:55 So we have three issues open related tot his 04:10:01 s/tot his/to this/ 04:10:16 One is calling for the elimination of the grid cell role 04:10:19 That’s 79 04:10:28 Goes back aways… 04:10:45 1008 and 1022 are related to row 04:11:17 I can just see the writing for this “name prohibit except when…” 04:11:25 Same thing with rows being selectable 04:11:43 It’s only… I forget the properties that are on selectable 04:11:56 But there are certain states that only apply when it’s a widget 04:12:07 Not entirely sure what the best way to resolve these is 04:12:13 But in the future… ?? 04:12:28 If the row has a pattern related to selectable then it’s a selectable row 04:12:35 but the way he ontology works right now 04:12:50 if it doesn’t support selectable directly it’s inherited from somewhere 04:13:03 The way it’s related to ontology is how ?? 04:13:22 Certain states are either allowed or required and it becomes complex for both authors and validators 04:13:34 But if we were to go the path of adding more widget roles 04:13:45 q+ to say we should make it as easy as possible 04:13:57 So that summarises the issue 04:14:03 ack zoe 04:14:03 ZoeBijl, you wanted to say we should make it as easy as possible 04:14:30 ZB: earlier discussed making things easier for authors. Would different roles make it harder for authors? 04:14:46 For row for example in a table its a structure and if can focus its a widget 04:15:00 q+ 04:15:44 MK: the naming thing is interesting for row - if you allow rows to be named.... normally in a treegrid you want the name to come from contents but there are cases you want the name to come from a portion of the contents 04:16:03 if we prohibit naming on row except in treegrid - is that complicated? 04:16:15 MK: You should never make a row focusable in a grid 04:16:19 I could be wrong about that 04:16:29 JD: What if you had a message list 04:16:38 MK: Should you be using a grid? 04:16:55 I think it should probably be a tree grid 04:17:04 JD: The folder list could be tree grid 04:17:14 ABR: Another example could be ??? 04:17:34 MK: I heard of it being selected 04:17:48 But I’ve not come across an application of focusing the entire row 04:18:21 ZB: I do see people making rows focusable 04:18:31 Not sure that entirely related, just want to put that out there 04:18:46 MK: We should take a consistent approach to resolving all three of these issues 04:19:01 One approach is to say we have some legacy things and we accept that for what it is 04:19:08 Meaning we’d keep grid cell 04:19:15 How about table and grid 04:19:19 We added table 04:19:30 Because grid was supposed to be the interactive version of table 04:19:43 For all the things to go inside 04:19:56 Maybe it’s enough for the ancestor to be grid or table 04:20:09 Which would tell you whether it’s ineteractive or not 04:20:14 ZB: Makes sense to me 04:20:24 MK: it would make ARIA more forgiving 04:20:51 s/???/a spreadsheet application, you highlight a row or column as a whole for some operations. Could be implemented with a separate header/label cell, but conceptually you're focusing the row./ 04:21:01 ZB: I’m in favour of deprecating grid cell in favour of cell 04:21:08 MK: How do we then deal with… ??? 04:21:17 It would say “if context is a grid” 04:21:21 if context is… 04:21:28 We would never have it the other way around 04:21:51 JN: We have some inconsistencies anyway 04:21:57 JD: That sounds like a mistake 04:22:02 JN: Oh no it does 04:22:15 It inherits it, I missed that 04:22:33 MK: When you’re doing inheritance… 04:22:51 We need to have a script to propagate that 04:23:01 JD: We’re already doing this for some other things 04:23:10 So we I don’t see why we can’t for this 04:24:47 ZB: Are there implications to deprecating grid cell? 04:25:06 MK: We’d have to change how we list the supported and inherited roles 04:25:31 ABR: It would need to stay around as a deprecated synonym 04:25:56 MK: Something that would be improved is row and column header 04:26:35 We could have something like “only in the context of grid are they selectable” 04:26:58 JD: The funny thing is that it would take more time to come up with the script than it would be to implement the change 04:27:22 MK: You would need in the implementations make sure that certain things are disallowed 04:27:29 JD: That’s already in place for a lot of things 04:27:35 Chromium for sure 04:27:46 ABR: They’re already dealing with that anyways 04:27:53 Some perhaps better than other 04:27:54 jcraig_ has joined #aria 04:27:58 s/other/others/ 04:28:11 JD: I think it’s easy to solve in terms of implementations 04:28:22 JN: Do we have agreement on this 04:28:40 s/with that/with invalid attributes/ 04:29:04 MK: we would say they’re not allowed when the context is table 04:29:07 In 1008 04:29:13 But is allowed in grid 04:29:24 For validators that are consuming our spec programmatically 04:29:45 We should try to be ??? to make sure that we do this in a way that’s consistently parseable 04:31:08 There’s the ARIA query project 04:31:30 s/???/cognisant/ 04:31:53 ABR: For these ?? that will be conditionally valid we need a machine readable format for that condition 04:32:08 JD: we have a different entry for… 04:32:14 Different condition for a table 04:32:22 MK: Is it possible for us to have two rows 04:32:27 JD: Not saying we should do this 04:32:31 But brainstorming 04:32:51 Could we have “cell (inside table)” and “cell (inside grid)” 04:33:06 MC: Someone said that there is already some complexity to this 04:33:20 Parsers need to be more contextually aware to process this 04:33:41 JD: That’s what we’re doing with this change (limiting naming of rows) 04:34:01 MC: I thought there was a reason for us keeping grids and tables separate 04:34:14 JD: We’re not changing that 04:34:26 *some discussion about aria-owns* 04:34:45 s/these ??/these attributes/ 04:34:46 kurosawa_ has joined #aria 04:35:34 q? 04:35:39 MK: The question was do we add a bunch of roles prefixed with “grid” or do we drop the grid ones that we already have 04:35:44 ack Am 04:35:52 ABR: Authors get ?? wrong so often 04:36:00 If we can make more of those conditions implicit 04:36:09 Ratehr than alloweing authors to make invalid combinations 04:36:17 That would be a win for both authors and users 04:36:22 ZB: +1 04:36:29 ABR: It does make validation harder 04:37:06 But it follows the order of constituents 04:37:22 MC: I think we need to put extra clear flags about this in the spec 04:37:33 A note to implementors 04:37:51 *JD does hand wavey thing* 04:38:16 It’s something that could be easily missed by implementors 04:38:29 ABR: What Michael said goes back to what Matt said in the beginning 04:38:45 We already have cases where there are a lot of exceptions 04:38:59 MK: We did it in the section related to naming 04:39:30 Jemma has joined #aria 04:39:35 s/ exceptions/ exceptions based on context, e.g. the separator role/ 04:39:38 rrsagent, make minutes 04:39:38 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html Jemma 04:42:03 scribe: ZoeBijl 04:42:28 zcorpan has joined #aria 04:43:24 i/Table Ontology/scribe: ZoeBijl/ 04:43:37 RRSAgent, make minutes 04:43:37 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html ZoeBijl 04:44:17 *short discussion about fixing the minutes* 04:44:48 MK: It might be, I don’t know if it’s nicer for the reader if it’s parentehical or if it’s a separate list 04:45:06 s/parentehical/parenthetical/ 04:45:18 JD: I’ll update the issues 04:45:33 the conclusion is that we’ll deprecate “grid cell” 04:45:39 It’ll be synonym 04:45:41 jihye has joined #aria 04:45:54 MC: We should have a path for deprecation 04:46:11 ABR: We encourage authors to move to cell 04:46:23 MC: Not just look at the change log, but make it a major change 04:46:31 MK: Do we want this to be 1.2? 04:47:15 It might be wise to take the same approach as we’re taking with naming related stuff 04:47:34 “This is our plan and we can merge stuff” but let implementors and AT to get on board 04:47:39 JN: What’s the hurry? 04:47:48 MK: Exactly, there’s no hurry 04:47:58 JD: Let’s move this to 1.3 04:48:28 MK: If we resolve 79 by changing it to a synonym 04:48:54 With deprecation we have more arguments for changing the APG 04:49:11 Make grid cell a synonym in ARIA 1.2 and plan to deprecate it in ARIA 1.3 04:49:27 s/it in/grid cell in/ 04:49:34 JN: ?? 04:50:08 ABR: It’s probably good to focus on checking the implementations as to whether making “grid cell” a synonym of “cell” actually works 04:50:19 Make sure “cell” actually works in a “grid” role 04:50:25 tink has joined #aria 04:50:25 MK: That’s a good point 04:50:33 That could be a test criteria 04:50:51 We don’t want o mess around with the implementation details between now and October 04:50:56 That would be a nightmare 04:51:20 Would be able to resolve 1008 and 1022 in the way we just discussed without deprecating “grid cell”? 04:51:37 I guess we can’t do it with row and column header 04:51:47 We already know that row works in grid, treegrid, and table 04:51:56 Or are we prohibited in some way 04:52:01 JD: I think that’s gonna be easy 04:52:03 Jemma has joined #aria 04:52:06 They fixed the issue in Gecko 04:52:13 And it was never an issue in Chromium 04:52:51 JN: The gecko bug says that if it has an explicit ARIA role it will calculate the name, if it doesn’t have an explicit role it will not 04:53:10 MK: …allow aria-selected for that specific state 04:53:15 JN: That makes sense 04:53:26 MK: Also wouldn’t have to change the APG 04:53:40 JD: In terms of validation does that count as authoring errors? 04:54:01 MK: In the aria-selected section 04:54:03 of section 6 04:54:09 We also need to change it there 04:54:18 It has been changed in allowed roles 04:54:27 JN: All of that stuff is generated 04:54:42 MK: Ohh the used in and allowed lists are generated automatically 04:54:52 JN: …when someone updates the scripts 04:54:53 But yeah 05:04:16 rrsagent, make minutes 05:04:16 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html Jemma 05:05:33 https://docs.google.com/spreadsheets/d/1eeq-xg0li2IKEIiyKsqhv-QOxArtbTV3m0OrG8ns-w4/edit#gid=1197832563 05:05:49 TOPIC: web components status update 05:06:03 https://github.com/w3c/webcomponents/issues/826 05:06:48 JN: we’d like to update where we are on 1.2 05:06:56 Which came mostly from where you are 05:07:00 you being the web folks 05:07:10 There are a lot of things we’d like to get parity for in 1.2 05:07:25 Some of us are not entirely sure why we’re doing some of this work 05:07:31 LW: If memory serves me right 05:07:39 Google was a real champion of role parity 05:07:46 Especially Geroge Russel 05:07:56 You should be able to extend HTML things 05:08:01 or create entirely new ones 05:08:08 There are two types of custom elements 05:08:25 There are three specs, shadow DOM, ??? & ??? 05:08:40 templates, custom elements 05:08:45 This lets you take an excisting HTML element and extend its capabilities 05:09:00 The code can get really ugly so it’s not really popular 05:09:13 And webkit doesn’t support custom elements (?) 05:09:54 The purpose is to replicate HTML in all it’s glory 05:10:09 JN: There are some roles/elements we don’t plan to implement in 1.2 05:10:15 Because we’re not sure how to 05:10:25 So we’re aiming at incremental improvements 05:10:31 LW: That would be fine 05:11:02 MK: James Craig has proposed a way to move forward 05:11:15 JC: my way would improve the ?? case but not the web components case 05:11:25 'testing' 05:11:34 s/??/testing/ 05:12:05 JN: So once we decide we’re OK with not having everything in 1.2 05:12:11 We move to what do we do after 1. 05:12:16 s/1./1.3/ 05:12:23 ??? 05:12:28 LW: I can only assume so 05:12:39 MC: Assuming we also finish role parity 05:12:43 JN: Depends 05:12:52 ??: What’s attribute parity 05:13:03 JN: Anything to do with HTML attributes 05:13:23 ABR: Any attribute that has to do with accessibility? 05:13:23 JN: That’s the defined list 05:13:29 MC: If that’s complete… 05:13:39 I think there’s a lot of stuff that’s not mapped 05:14:24 distinguishing not mapped because it shouldn’t be vs. not mapped because it hasn’t been mapped yet 05:14:34 JD: I mean not mapped on purpose 05:14:58 JN: some things are exposed but not directly mapped 05:15:22 ??: Do you get the attribute or the inherited concept? 05:15:29 JC: The ?? 05:16:03 But it’s effectively the same thing as parity 05:16:12 https://github.com/w3c/aria/wiki/Plans-regarding-role-parity 05:16:45 JD: Most of these are at least partially done 05:17:01 abbr for example 05:17:13 The big ones are under the “no consenses 1.3” 05:17:17 But a lot of them are input 05:17:26 For a lot we’re not sure how to deal with them 05:17:34 embedded object and ruby stuff 05:17:45 summary and details is gonna take us some more work than we anticipated 05:17:47 Like canvas 05:18:17 If you look at the “no consensus list” and see something that you absolutely need to have please let us know 05:18:39 LW: proxying for my colleagues, but we will let you know 05:18:53 Thank you for doing that 05:19:05 You’ve done an astonishing job 05:19:09 *round of applause* 05:19:13 JN: Thank you 05:19:29 ABR: Are there other cross issues that we should discuss with Léonie? 05:19:38 I don’t know the status of shadow DOM etc 05:20:58 *something about shadow DOM* 05:21:07 AB: I have a PR open about element reflection 05:21:11 Has been open for over a year 05:21:20 we’ve been going back and forth during that time 05:21:42 There are a lot of open questions around it 05:21:56 s/??:/AK/g 05:22:23 https://github.com/whatwg/html/pull/3917#pullrequestreview-189973949 05:22:32 https://github.com/whatwg/html/pull/3917 05:22:51 AB: intended for custom elements, which Léonie mentioned earlier, you can get the internals 05:23:02 That allows you to specify, among other things, ARIA and semantics 05:23:07 mhakkinen_ has joined #aria 05:23:24 These are superseded by DOM ARIA atttributtes 05:23:32 s/atttributtes/attributtes/ 05:24:12 *some discusssion about default attributtes* 05:24:24 AB: Any of the ARIA state attributes would change dynamically 05:24:42 AK: The first itteration fo this API exposes form elements 05:24:54 whsieh has joined #aria 05:25:17 ABR: So you said you came here expecting a discussion about what the ARIA WG should focus on 05:25:34 AK: If you take aria-describedby there is some deligation 05:25:56 Because the custom element could say “hey, it’s actually described by this element” 05:26:07 Because the details aren’t exposed to the outside 05:26:25 Something paralel to the custom ellement can’t know about the custom element’s internals 05:26:37 AB: Having trouble thinking of a usecase 05:26:47 AK: If you have a video element 05:27:13 it might have images for placeholders and you don’t want those for the name calculation 05:27:21 s/placeholders/posters/ 05:27:56 MK: YOu can’t chaing labelledby or describedby I don’t think 05:28:07 AK: You can’t reference ID’s in the shadow DOM 05:28:13 s/ID’s/IDs/ 05:28:57 *missed a part* 05:28:58 MK: but that couldn’t contain describedby references 05:29:05 AK: I was assuming it was text content 05:29:16 Like there are parts that aren’t relevant for a described case 05:29:30 AB: I’d be interested to see some more use cases for this problem 05:29:44 Say you’re implementing a custom combobox 05:29:51 POerfect example for active descendant 05:30:08 My active descendant is element 4 05:30:13 But how do you expose that? 05:30:25 AK: But it’s the CE’s shadow host? 05:30:28 AB: yes 05:30:41 AK: So you could set it to the shadow tree descendants? 05:30:44 zcorpan has joined #aria 05:31:00 AB: custom elements wants to refer to something inside the shadow host 05:31:04 present+ 05:31:06 AK: Is it the shadow tree? 05:31:29 AB: this is the labelledby case 05:31:51 But that’s bringing another element on the page into the mix 05:32:02 TOPIC: HTML Accessibility Issues 05:32:49 present+ Matt-King 05:32:56 s/shadow DOM, ??? & ???/shadow DOM, templates, & custom elements/ 05:35:01 whsieh has left #aria 05:35:22 whsieh_ has joined #aria 05:35:31 whsieh_ has left #aria 05:37:27 Domenic has joined #aria 05:37:29 https://github.com/whatwg/html/issues?q=is%3Aopen+is%3Aissue+label%3Aaccessibility 05:37:35 SP: Would like to discuss accessibility issues in HTML, and also how we (the WHATWG) can work more closely with the accessibility WG. 05:37:51 ... There is a list of issues on our repos that have the accessibility label. 05:37:54 ekashida has joined #aria 05:38:15 ... The oldest of the open issues is to suggest a warning about the outline algorithm. 05:38:48 DD: There is an outline algorithm that is based on the idea that nested headings can be treated as lower level headings, but this doesn't match with current reality. 05:39:08 ... two ways to solve this, Anne has a proposal, and the other is to update the algorithm. 05:39:38 MK: Can you give more background on where the algorithm is implemented and/or used, and how that affects the AT experience. 05:39:45 DD: It was never really implemented. 05:40:12 ... it's more authoring guidance than implemented in browsers. 05:40:27 AVK: Implementing the algorithm in the browser is expensive. 05:40:35 q+ 05:40:52 DD: It's what the AAM has chosen to ignore the outline algorithm. 05:41:35 SP: It affects AT users in terms of how they navigate through headings. 05:41:51 JN: AT can also read the heading levels as well as navigate by them. 05:42:01 ... Wondering what we (the ARIA WG) can do to help? 05:42:24 DD: If we want to keep pushing for this algorithm, your help making that call would be appreciated. 05:42:44 MC: We should work out with the APA WG for review on this. 05:43:03 AVK: APA? 05:43:11 MC: Accessible Platform Architectures WG. 05:43:22 JN: It's the HTML AAM that'd need updating. 05:43:37 MC: APA is probably best placed to answer this question. 05:44:17 MS: Part of our expectation was that people who had strong feelings might be here, people liek Steve Faulkner, but they're no, so this might not be the best time to have this discussion. 05:44:23 JN: I'm familiar with the issue. 05:44:52 DD: We should re-spec the outline. 05:45:04 JN: The warning should be put in until that happens. 05:45:24 MS: There is a warning in the W3C conformance checker. 05:47:34 ...MS: The validator issues a lot of warnings, including about bad heading patterns. 05:47:52 SP: The validator also shows two different outlines. 05:48:12 MS: The validator is one of the few places where the outline algorithm is implemented. 05:48:33 rrsagent, make minutes 05:48:33 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html tink 05:49:06 AVK: We have an accessibility Github team, and we'd like to add more people. 05:49:22 DD: I'd like to hear from this group, about what you're intefrested in. 05:49:57 https://github.com/whatwg/html/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+aria 05:50:01 LW: How many accessibility issues are open? 05:50:04 SP: 20. 05:50:25 ABR: An issue about a radio group element, which gets to the idea, should HTML have parity with ARIA roles? 05:51:07 Outline algorithm browser bugs: Chromium https://crbug.com/365070, WebKit https://bugs.webkit.org/show_bug.cgi?id=131920, couldn't find one for Firefox 05:51:10 JMD: What if we hada non-numerical heading element? 05:51:18 JN: Read the outline issue, it's all in there. 05:51:31 MS: Backwards compatibility is part of the problem. 05:51:44 SP: Argument is that it's better to have a flat list of headings, than nothing. 05:52:24 JC: In the case of
with no explicit role, it's exposed as an h2. 05:53:16 ... There are screen reader commands for "jump to heading at next same level", which is useful functionality especially in large documents. 05:53:50 ...I'm not aware of any disagreement internally with the current proposal for the algorithm, it isn't high on our priority list. 05:54:22 AVK: There is a carrot in terms of styling too. 05:54:37 SP: Tested James' example and according to devtools it's an h2. 05:55:56 LW: Not convinced that breaking backwards compatibility with headings would be terrible, because headings are almost always broken hierarchically in the wild at the moment anyway. 05:56:49 JC: Having some kind of HTML data provider that is queriable with scripting would make somethings, like scrolling patterns, much easier. 05:57:45 https://github.com/WICG/virtual-scroller 05:57:54 DD: There's a proposal for virtual scrolling. 05:58:16 ... It's better to encourage people to put the data in the DOM, but right now that's expensive, and so we'd need to improve that first. 05:58:32 ... So the cost is based only on what's displayed on the screen. 05:59:02 JC: There might be hundreds of thousands of things in the dataset. 05:59:17 s/virtual scrolling/virtual content/ 06:00:01 https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/Accessibility/VirtualContent/explainer.md 06:00:06 DD: If it's a vast dataset then that proposal is intended to help. 06:00:44 JC: Making it possible to use find functionality to search the dataset would be a useful feature. 06:01:07 DD: I think the virtual content proposal had server hooks? 06:01:13 AB: No, it's based on scrolling. 06:01:43 ABR: Maybe an issue on that proposal to ask for hooks? 06:02:24 ...If it was based on user events, like when a user tabs into the area, or when a user searches for something inside the area? 06:03:21 DD: You'd want a hint to the server, "they want the next heading" etc. 06:03:33 JC: Platform acc API have something similar. 06:03:46 AVK: It would be very observable that you were using AT. 06:04:07 ABR@ If there's just a generic "load more" API, that might help with that. 06:04:28 MK: Why would it make it observable you're using an AT? 06:04:46 JC: I think Anne was saying there is no UA that does something like heading navigation. 06:04:52 MK: GoogleDocs does. 06:05:01 JC: That's the application though, not the screen reader/AT. 06:06:28 ABR: The idea of a method to hide things visually but not from AT like screen readers. 06:06:40 SP: Like display:none; but still available to screen readers? 06:06:57 JMD: aria-hidden="false" was intended for this purpose, but it's not been implemented. 06:07:11 SP: Since developers use CSS hacks to get this, it shows there is demand for it. 06:07:24 JC: There is demand but there are also implementation challenges. 06:07:51 ... Webkit supports aria-hidden="false" to a degree, but it got complicated because of the rendering block/tree. 06:08:07 AVK: You used a flattened tree to create the acc tree? 06:08:22 JC: We ended up making it so that you could only hide something one element deep I think. 06:08:55 JN: I think we've taken aria-hidden="false" from the spec? 06:09:02 MK: How? I don't remember. 06:09:11 JC: Think it wasdeprecated. 06:09:15 s/The idea of/On the issue of a hidden-like attribute, that's a case of speccing something that has strong use already on the web,/ 06:10:28 SP: You can use aria-label/labelledby to add information for a "more" link. 06:10:44 JN: I've seen hidden text used in situations where you use something like the element. 06:10:58 MK: Or where there's no visual heading but a navigation heading would be useful. 06:12:18 JN: Could use ... or something? 06:12:25 LW: Does aria-label get exposed on that? 06:12:34 SP: headings have an accessible name so I think so. 06:13:12 JC: Perhaps an @screenreader CSS media query? 06:13:25 AB: Often wanting to do this is a design flaw. 06:13:30 The CSS version of this feature request: https://github.com/w3c/csswg-drafts/issues/560 06:13:43 .. there are somethings legitimate use case, but I wonder what proportion they make up? 06:14:09 MK: Another case is stuff that gets displayed only on hover or focus, but when you browser with the virtual cursor you want it there all the time. 06:15:03 JN: So the question of whether we want equivalent HTML elements for all ARIA roles? 06:15:34 ABR: Yes, issues 4180 on the HTML repo, and #2463 on HTML also. 06:16:18 JC: Switch was added to ARIA 1.1 because checkbox on/off wasn't sufficient for the tri-state switch controls being used on mobile. 06:16:47 MK: This gets into what you should develop using ARIA and script, and what you shouldn't. Where do you draw the line? 06:16:57 ... Seems HTML should be the ones to draw the line here. 06:17:25 JC: There are things like the icons that could be changed if it was a native feature. 06:17:49 ABR: To the more general question, are there roles that exist in ARIA that should have HTML equivalents? 06:18:15 AVK: If there are use cases it makes sense. 06:18:35 DD: My team has been working on this, switch, but also other elements. 06:19:01 ... It's hard to ship new elements, because getting developers to say "we'll replace our thing with a native thing", because of librarries and other reasons. 06:19:32 ... It's hard to extend. Last time we tried it was but it only has one implementation. 06:19:50 ... There are tactics, one I've explored is using custom elements and technologies like that, but it's just hard. 06:20:49 LW: Have there been successful examples where a pattern has been implemented natively and been taken up? 06:21:22 DD: Input elements like email perhaps. 06:21:27 MK: details and summary. 06:21:36 SP: video and audio elements. 06:22:15 DD: There is a discussion tomorrow about switch. 06:22:32 ... author focus handling is limited to tabindex and that's a problem for the switch pattern. 06:22:59 ABR: What about arrow based navigation like cycling through a set of radio buttons or such? 06:23:20 DD: And whether tabs in a tabset are arrows or tabs. 06:23:25 SP: What's needed? 06:23:36 ABR: A way to do these things that doesn't need event listeners. 06:23:43 DD: Something like a scoped tabindex? 06:24:24 AB: To say this container groups a set of similar elements that should be navigable in a certain way. 06:24:44 ABR: So the container would get the tabindex, then aria-activedescendant could be used, but you have to listen to all the keypresses yourself. 06:25:28 JC: There are some proposals in the AOM that look at user input events, and some semantic events, that could be interspersed with existing events. 06:26:13 DD: Are people familiar with the behaviour in chrome, and possibly others, have implemented where you tab between the three date fields in a date picker? 06:26:22 ... currently it's tabs. 06:26:40 MK: Not aware, would be good to see an implementation test case. 06:26:45 DD: I can share one. 06:27:00 ... But you tab through the three day, month, year fields inside it. 06:27:08 JC: So it's a single element with three tab stops? 06:27:11 DD: Yes. 06:27:18 AB: Like a video element has controls. 06:27:37 JN: On a date heavy page it sounds like a lot of tab stops. 06:28:18 MK: For a screen reader user it's hard to have to keep moving between fields to find out which year the month relates to etc. 06:29:08 AB: A related question of things that are tab traps. 06:29:30 ... things like modals. 06:30:02 MK: Also non-modal things with application behaviour. 06:30:34 ... Where there are containers with their own tab ring, but that you can navigate to using f6. Replicatingthat on the wbe is hard. 06:31:06 AVK: Does this relate to focus groups? 06:31:14 DD: It's only at the document level. 06:31:21 SP: The concept could apply to this though. 06:31:37 ... Could specify that two elements are two different focus groups, then have a feature to move between focus groups. 06:31:47 Example of native with three tab stops: https://boom-bath.glitch.me/native-input-date.html 06:31:59 AB: Yes, focus groups, and modals, all related. 06:32:26 ... GoogleDocs grid view is a good example of where this behaviour is implemented. 06:32:56 rrsagent, make minutes 06:32:56 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html tink 06:33:10 rrsagent, make minutes 06:33:10 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html tink 06:44:50 spectranaut has joined #aria 07:01:17 MichaelC has joined #aria 07:12:11 kurosawa has joined #aria 07:14:51 scribe: jamesn 07:15:04 TOPIC: Calculating Group Position 07:15:07 https://github.com/w3c/core-aam/issues/52 07:15:31 JD: this is 1 of 2 issues - not the main issue 07:15:42 https://github.com/w3c/core-aam/issues/49 07:15:45 Added the other issue 07:16:16 SF filed that FF is caluculating posinset and setsize when there is a separator as separate sets 07:16:57 Section https://w3c.github.io/core-aam/#mapping_additional_position States 07:16:57 "Otherwise, if the role supports aria-posinset and aria-setsize, process the parent (DOM parent or parent defined by aria-owns), counting items that have the same role." 07:16:58 the other issue - issue 52 07:17:00 This is not correct. A menu should count all the menu items no matter the type (menuitem, menuitemcheckbox, menuitemradio) not just items of the same role 07:17:15 zcorpan has joined #aria 07:17:58 Aaron stated same platform role - but that doesn't work on all platforms 07:18:49 posinsset and setsize - what are they supported on? 07:20:04 do we know what would happen with associationlistitemkey and associationlistitemvalue 07:22:04 JD: to me the questions are - if you have a separator and don't have a group object - do you reset your count every time you have a separator 07:22:31 MK: the separator is not intended to be a semantic thing - but a visual presentation thing 07:22:38 MK: they never get exposed 07:22:50 JD: I've seen menus where you can arrow to the separator 07:23:11 MK: if you want grouping in a menu you want a group 07:23:38 07:24:55 jemma has joined #aria 07:27:25 MK: we don't have the concepts of various required owned element things 07:27:28 BGaraventa has joined #aria 07:27:51 present+ Bryan_Garaventa 07:28:15 I don't think I have the right dial in code, the line is sielent 07:31:30 nvmind, I hear you guys now 07:32:29 scribe: joanie 07:33:13 http://a11y.pro/combobox-TPAC2019/ 07:34:21 The above link is to Matt's presentation 07:35:05 The presentation doesn't directly address HTML issues yet, but we'll talk about them. 07:35:30 http://a11y.pro/combobox-TPAC2019/#/2 (Evolution of the Combobox Structure) 07:35:59 In 1.0 only a listbox could pop up and it was owned by input. 07:36:17 s/In 1.0/Matt: In 1.0/ 07:36:56 Matt: Now we have a div wrapper with a text input with a sibling element which pops up. 07:37:41 Matt: You can construct this relationship in two different ways. 07:37:58 Matt: The relation between the pop-up and input is aria-controls. 07:38:16 Matt: The relationship between the wrapper and widgets is an owned relationship. 07:38:28 http://a11y.pro/combobox-TPAC2019/#/3 07:38:35 Matt: Why did we change it in 1.0? 07:38:59 Matt: Because of aria-owns, listbox is a child of textbox. 07:39:15 Matt: Screen reader users can perceive listbox options only when interacting via keyboard. 07:39:48 Matt: Only way to get access to the options is that focus change events come as a result of aria-activedescendant + use of arrow keys. 07:40:09 Matt: If you're using any type of touch device or are in reading mode, you're not going to see any of this. 07:40:33 Matt: That is the problem we wanted to solve: We didn't want the listbox inside. 07:40:41 http://a11y.pro/combobox-TPAC2019/#/4 07:41:15 Matt: Regarding the 1.1 structure, the div has the combobox role, but it isn't focusable. What's focusable is a textbox. 07:41:43 Matt: So it's not actually clear what that textbox is when you Tab to a combobox. What is the screen reader supposed to say and do? 07:42:15 Matt: This is something we didn't really define. Plus it's a pretty different way for screen readers to have to handle. 07:43:47 Matt: The other problem we ran into is when you're naming this, WCAG says you have to name the combobox because it's focusable. 07:44:31 s/combobox because/input because/ 07:44:45 Matt: But you also want to name the combobox itself. So what do we do? 07:45:26 http://a11y.pro/combobox-TPAC2019/#/5 Has a summary of all the structural issues in 1.0 and 1.1. 07:46:48 Matt: In addition to the previously-discussed issues, the container adds unnecessary complexity. 07:47:15 Matt: 07:47:15 Does not correspond to anything visible in the UI. 07:47:15 Does not add value for screen reader users. 07:47:15 Like requiring a wrapper around a menu button and the menu it opens. 07:47:47 http://a11y.pro/combobox-TPAC2019/#/6 Has proposal for 1.2 07:48:08 Matt: I propose we treat combobox similar to a menu button that controls the menu. 07:48:29 Matt: The slide says "text input" but it doesn't have to be a text input; it's an input. 07:48:53 Matt: Browsers could still support the 1.0 pattern. It's pretty straightforward. 07:49:02 +q 07:49:17 Matt: But we'd nuke what we're doing in 1.1 and replace it with what I'm proposing for 1.2 07:49:25 q- 07:49:32 Matt: Namely, a listbox controlled by an input. 07:50:07 Matt: The 1.2 version can be found here: https://raw.githack.com/w3c/aria-practices/aria1.2-combobox-proposal/examples/combobox/combobox-autocomplete-list.html 07:50:32 Matt: In testing, the 1.2 version is working out of the box in both reading mode and interaction mode. 07:50:56 Matt: All of them see the combo box, present the combobox, can perceive the listbox, etc. 07:51:08 Matt: There are a few bugs, but the basics work. 07:51:33 https://raw.githack.com/w3c/aria-practices/aria1.2-combobox-proposal/examples/combobox/combobox-autocomplete-list.html 07:52:02 Matt: There's also a link to it in the ARIA pull request. 07:52:05 ack B 07:52:37 BG: Are you using aria-activedescendant as the user up and down arrows? 07:52:45 Matt: I believe so, yes, but I would have to look. 07:53:08 Matt: I took the 1.0 version and changed 2 lines of code, one in html and one in JavaScript. 07:53:20 Matt: I changed aria-owns to aria-controls. 07:53:48 Matt: I had to make a similar change in the JavaScript because it was using an attributte selector, looking for aria-owns. 07:54:20 BG: I've seen people try to put the listbox inside a button. We want to discourage that. 07:55:02 Matt: At this point in time, we don't have an example of a combobox which doesn't have an edit. But if we make this change, we'd of course also want to write such an example because it's a very common use case. 07:55:27 http://a11y.pro/combobox-TPAC2019/#/8 Has Related GitHub Issues 07:55:45 Matt: A couple of these have actually been closed, but the question is which changes we need to support if we go this path. 07:56:18 https://github.com/w3c/aria/issues/998 07:56:42 The Combobox 1.0 design pattern references incorrectly include aria-owns instead of aria-controls. #998 07:56:54 Matt: This issue is confusing people because where the property goes. 07:57:16 https://github.com/w3c/aria/issues/776 aria-controls a required property for Combobox? 07:57:48 Matt: All of these issues stem from the fact that we have the combobox wrapper and the thing which is not a combobox (i.e. the input) 07:58:18 Matt: If we don't have a wrapper and the input itself is the combobox, it's unambiguous where the aria-controls goes. 07:58:35 Matt: So making this proposed change will solve these issues. 07:58:54 http://a11y.pro/combobox-TPAC2019/#/10 Naming issues 07:59:01 893: 1.1 Combobox pattern endorses unlabelled form fields 07:59:01 909: Clarify combobox label placement 07:59:01 1046: Does combobox require an accessible name? 07:59:40 Matt: The screen readers have never exposed a wrapper before for a combobox, so why would they expose a wrapper? 07:59:55 Matt: So again, these three issues get solved with the 1.2 proposal. 08:00:08 Matt: Those are the structural problems. Now I want to talk about the definition. 08:00:24 Matt: 1.0: A presentation of a select; usually similar to a textbox where users can type ahead to select an option, or type to enter arbitrary text as a new item in the list. See related listbox. 08:00:39 Matt: In 1.1 we made it a lot more clear. 08:00:50 Matt: A composite widget containing a single-line textbox and another element, such as a listbox or grid, that can dynamically pop up to help the user set the value of the textbox. 08:01:19 Matt: One of the problems here is that historically there are a lot of comboboxes in the world that don't have a textbox. 08:01:39 Matt: We kind of drewe a line in the sand, saying essentially "these are not comboboxes" 08:02:02 Matt: We've received a large amount of pushback as a result. 08:02:36 Matt: There's an issue in HTML-AAM regarding mapping of select element with size of 1. 08:02:53 Matt: Another conflict I call the "readonly conflict" 08:03:06 08:03:30 Matt: You can select the text, but it gets announced as a read-only combobox. This is really confusing. 08:04:06 Matt: Because the popup functionality that allows you to change the value isn't disabled, yet it's spoken as readonly. 08:04:48 Matt: The purpose of having this attribute on the input is so the end user can tab to the input and examine and select the text. 08:05:00 Matt: Authors get the info for free. 08:05:15 Matt: But you can change the input from the popup, so it's not a readonly input. 08:05:33 Amelia: Do we have a way to override this, like aria-readonly="false"? 08:05:38 Matt: But what would that do? 08:05:42 JN: Who wins? 08:06:00 Matt: But that might cause it to be presented as an "edit combobox" which is wrong because it's a select box. 08:06:16 Matt: We also have the issue that in HTML you cannot use readonly and required on the same thing. 08:07:04 Matt: The goal is that we want input type="text" readonly functionality, but we don't want it announced as readonly. But I don't know how to solve that yet. 08:07:21 http://a11y.pro/combobox-TPAC2019/#/13 Proprosed 1.2 definition 08:07:28 Matt: There are loads of changes here. 08:07:38 Matt: An input that controls another element, such as a listbox or grid, that can dynamically pop up to help the user set the value of the input. 08:08:30 Matt: The input could be a textbox, but it doesn't have to be. 08:09:20 Matt: The difference is that you could take a button, give it a combobox role, give it a label which would be separate from the value, and make it required (which you cannot do on a button). 08:09:35 http://a11y.pro/combobox-TPAC2019/#/14 Summary of 1.2 Changes (PR 1051) 08:09:53 Revise definition of combobox to encompass implementations that do not support text editing, such as some implementations of the HTML select element by browsers. 08:09:56 Revise description of the structure of combobox so the element with the combobox role is the focused element instead of a wrapper that is not focusable and the relationship with the popup is defined by aria-controls. 08:10:00 Change the super class to input from select so it describes the actual structure; select is a composite and the revised combobox structure does not include any focusable descendants. This also has the beneficial side effect of removing aria-orientation, which is not applicable. 08:10:04 Add aria-activedescendant as a supported property because it is no longer inherrited from its super class. 08:10:07 Remove all required owned elements. A combobox no longer has any descendants. 08:10:10 Change section 2.3 (id=“managingfocus”) to remove combobox from the list of composite widgets and for clarity and compatibility with revised combobox structure. 08:10:13 Editorial revisions to the definition and description of the aria-activedescendant property to reflect the changes to the combobox structure. 08:10:43 RRSAgent, make minutes 08:10:43 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html joanie 08:12:48 Matt: To the best of my knowledge, this fixes all the open issues related to combobox. It does NOT solve the readonly issue I mentioned. (Not currently filed) 08:13:29 Matt: We're done revising combobox is we make these changes. 08:13:40 Melanie: I really appreciate all the work that went into this. 08:14:09 Melanie: The one challenge is, if we make another revision, we want to make sure it's airtight. 08:14:31 Melanie: In UIA a combobox is a composite container. 08:14:53 Melanie: I would be concerned about supporting this proposal because it doesn't make sense in my API. 08:15:04 Matt: How does it not make sense? 08:15:15 Matt: We don't have to make any mapping changes in any platform. 08:15:38 Melanie: But the structure is different from what we're expecting. 08:15:59 Matt: We tested this with Narrator and Edge and the user experience is better with the 1.2 example than the 1.1 example. 08:16:47 Melanie: But if it doesn't align with the structural assumption UIA has, there may be breakage later. 08:16:59 Melanie: And then you would have to write web specific code. 08:17:14 Jemma: I'm trying to understand your concerns. 08:17:35 Melanie: There would be no work on my end (browser) to support what Matt is proposing. 08:18:08 Melanie: But the accessible hierarchy doesn't match what we see in the native equivalent. 08:18:16 https://docs.microsoft.com/en-us/windows/win32/winauto/uiauto-supportcomboboxcontroltype 08:18:21 Jemma: What kind of damage is done when there's a structural changae? 08:18:26 s/changae/change/ 08:19:15 Matt: Do you assume a wrapper for a menu button? 08:19:30 Matt: Do all the structures in HTML match what's in UIA. 08:19:55 Melanie: That's the challenge. We do the best we can. We provide access via the AriaProperties property. 08:20:28 Melanie: What concerns me is that we are choosing to go against what's exposed via the API. 08:20:45 Melanie: Can we work with screen reader developers to make the 1.1 version work better? 08:21:07 Matt: Right now we have so much author confusion with the 1.1 because it doesn't look like anything people are familiar with. 08:21:48 Matt: The thing that gets focus isn't the thing that has the role. 08:21:59 Matt: That's unlike anything else we have in ARIA. 08:22:19 Matt: We're always telling authors to focus the thing that has the role. 08:22:33 Matt: But here, in the 1.1 combobox, we're telling authors the opposite. 08:23:25 JD: This can be solved in ATs. 08:23:53 Matt: You can hack, but.... With most composites you have multiple things inside which can get focus. And you manage the focus. 08:24:07 Matt: the user sees the container, then the child. 08:25:03 JD: like the proposal as simpler. Other thing just say on the record 08:25:26 in response to Melanie - there are a bunch of things which don't look like neative 08:25:52 and screen readers have a bunch of hacks and workarounds - all screen readers have to deal with "the web" 08:26:27 seriously while i sympathise - in UIA it may look different but the rest of us just cope with it. 08:27:10 if the problem is you have a combobox container - you ascend the ancenstry. if nothing has cuased the listbox to be presented then providing context is something screen readers do 08:27:55 if you tab to a window the window ancestor should be presented. Why don't NVDA and JAWS look at the textbox and see there is a combobox ancestor and present as a combobox 08:28:15 MK: could special case it... could have a wrapper without calling it a composite... 08:28:22 JD: how is this special? 08:28:47 MK: the grid never gets focus. the grid and structure get exposed. 08:28:54 JD: but why does that happen? 08:29:28 JD: If i land in a cell in the middle of a grid... the screen readers say i'm in a table ..... i guess I should tell the user about the grid 08:29:42 JD: why can't screeen readers do that for comboboxes 08:29:49 MK: things aren't aligned 08:29:58 JD: so many things aren't aligned 08:30:53 MK: what it would take to fix 1.1 without making changes to definiton - if we were to keep the structure - we would need to get screen readers to support both 1.0 focusable input and also would have to look up the tree for some of the information. 08:31:10 MK: the hardest part for authors is to determine what goes on what 08:31:23 MK: what actually belongs on the input and what on the parent 08:31:49 MK: people don't understand what goes on the input and what goes onb the combo 08:32:07 MK: could be permissive and allow aria-expanded on wither 08:32:25 MK: no point to authors or screen reader or screen reader user for the wrapper 08:32:38 JD: could Narrator adapt? 08:33:05 MK: has already adapted.... hypothetical if changed something would it be more work 08:34:04 scribe: joanie 08:34:28 Matt: Is the screen reader the problem? Is UIA the problem? Isn't UIA giving it everything? 08:34:42 Melanie: It is, but it's a different structure. 08:34:56 Melanie: The problem is we have a declarative approach to semantics. 08:35:19 Melanie: If you put the role on it, UIA puts in everything that goes along with it. 08:36:01 Melanie: If you create imaginary nodes in the accessibility tree, where do you put the properties? 08:36:12 Matt: Wherever UIA expects them to be. 08:36:27 Melanie: It seems like a weird thing to ask a browser to do. 08:36:59 Amelia: Are there cases where anonymous nodes get added? 08:37:12 Melanie: I don't know for sure, but I don't think there are. 08:37:27 Melanie: I think we transparently map whatever the author has given us. 08:37:54 Matt: What are potential paths forward? 08:38:13 Matt: The main problem we have right now is a lot of existing comboboxes don't work very well. 08:38:20 q+ 08:38:27 Matt: And they're still based on the 1.0 pattern. 08:38:57 q- 08:39:11 q+ 08:39:18 Jemma: One thing to help me understand the issue is there's a menu button. I thought it was an easy concept to use for combobox. 08:39:42 Jemma: Why isn't it similar for combobox? 08:40:14 Melanie: I wonder if we could get more screen reader developer input on the proposal and also the 1.1 version. 08:40:24 Matt: And what about the naming problem? 08:40:53 q- 08:40:55 Amelia: The 1.1 version really needs a second role, an input inside the combobox. But to also have the legacy behavior.... 08:41:19 Matt: Maybe if we had two different roles for the different variations of comboboxes. 08:41:38 JN: Don't do that please. 08:42:04 Amelia: In your new structure without a wrapper, how do you describe widgets that thave an explicit show the list button. 08:42:11 s/button./button?/ 08:42:28 Matt: That's really simple: Those are not part of the widget. 08:42:40 Matt: We actually encourage hiding it from screen readers. 08:43:16 Jemma: What is the resolution? 08:44:09 JD: (Joking) Deprecate combobox! 08:44:43 Matt: Actually, we could do that. An input with aria-hasautocomplete. (Some explanations.) 08:45:14 JN: And maybe fix HTML select styling. 08:45:29 spectranaut has joined #aria 08:45:48 s/aria-hasautocomplete/aria-autocomplete/ 08:46:31 Matt: If we could get all the screen reader developers in a room.... This could probably be resolved. 08:47:05 Matt: We cannot require aria-controls on combobox. So it has to be on the textbox. 08:47:12 JN: Why not? 08:47:21 Amelia: That gets back to conditional attributes. 08:47:44 Matt: We could put aria-controls on a textbox if it's in a combobox. 08:47:58 JN: We could change the definition of aria-controls.... 08:48:04 What happens right now in UIA when aria-controls is on a textbox that includes role=combobox? 08:48:17 Matt: I would prefer doing it conditionally. 08:48:52 jemma has joined #aria 08:49:27 rrsagent, make minutes 08:49:27 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html jemma 09:04:57 MichaelC_ has joined #aria 09:24:23 mck has joined #aria 11:16:23 Zakim has left #aria 11:40:31 spectranaut has joined #aria 12:28:10 MichaelC has joined #aria 12:28:29 rrsagent, make minutes 12:28:29 I have made the request to generate https://www.w3.org/2019/09/15-aria-minutes.html MichaelC 12:28:41 rrsagent, bye 12:28:41 I see no action items