10:07:00 RRSAgent has joined #aom 10:07:00 logging to http://www.w3.org/2016/09/21-aom-irc 10:07:01 frremy has joined #aom 10:07:02 Avneesh has joined #aom 10:07:11 rdeltour has joined #aom 10:07:15 bkardell_ has joined #aom 10:07:24 alastairc has joined #aom 10:07:28 David-MacDonald_ has joined #aom 10:07:29 Meeting: Accessibility Object Model 10:07:29 patrick_h_lauke_ has joined #aom 10:07:36 chair: James Craig 10:07:41 clapierre has joined #aom 10:08:27 Wilco has joined #AOM 10:08:36 also contributing Alice Boxhall, Dominic Mazzili and @@@ from Google 10:08:47 [reviews agenda] 10:09:21 History, Common PRoblens, code samples, Scoping considerations, Audience, and Development plan 10:09:28 Topic: History 10:10:17 Intentional Events, Canvas Sub-DOM, Apple: UI Independence (spawned IndieUI) and Accessibile RTE 10:10:37 ... which has all been abandoned 10:11:04 mck has joined #aom 10:11:06 ... Google chrome. automation which is a view of Accessibility tree API extension 10:11:43 Mozilla a11yapi: https://github.com/WICG/a11yapi 10:11:43 ... Mozilla proposed A11y API proposal, Microsoft - WAPA proposal 10:11:47 SteveF has joined #aom 10:12:06 ... 2016 - Offline vendor discussions leading to the WICG incubation AOM effort 10:12:09 boazsender has joined #aom 10:12:31 WAPA: https://rawgit.com/cyns/wapa/master/wapa.html 10:12:39 ... Domenic sent this prooposal to send to WICG 10:12:45 chrome.automation: https://developer.chrome.com/extensions/automation 10:12:47 Topic: Common Problems 10:13:11 DOM manipulation has poor performance with ARIA in large datasets 10:13:45 ... reliance on IDREF prevents some usage - want to use element refs instead of idrefs 10:14:05 ... No way to receive accessibility vents, e.g. increment a custom slider 10:14:48 ... some complex office suites are challenging to make accessbile through standard techniques of POSH + ARIA 10:15:11 tzviya has joined #aom 10:15:16 laudrain has joined #AOM 10:15:17 ... Bonus: Accessibility Inspection and Testing 10:15:27 Topic: Example 10:15:32 atai2 has joined #aom 10:15:37 Lisa_Seeman has joined #aom 10:15:40 Standrd Assitive Technology Interaction 10:15:41 mhakkinen has joined #aom 10:16:21 [describes diagram - application -> Accessibility tree -> assistive technology -> user 10:17:11 ... the application refreshes a button on the accessibility tree, which passes role to the assistive technology which passes the role "button" to the user. 10:18:01 ... the user presses the "button" (independent event) which passes it back to the accessibility tree which translates it to a click to the application 10:18:11 Next Slide diagram 10:19:46 ... application sends "role=slide" to the accessibility tree which passes it to the assitive technology which gives it to the user. The user increases the sliderto 50%, passes it the assitive technology to the accessibility tree. The tree fails in giving it back to the application. That problem is where the AOM needs to live. 10:20:40 Doug: Question: Why doesn't ARIA role=slider work? 10:21:45 for context, SteveF and I (plus some help from others) made a first attempt ages ago to document ARIA patterns that fall apart on touch+AT scenarios https://docs.google.com/spreadsheets/d/1gN9oRZPdrJxLDNtT6nVO4fn7E7sn1061L9Xl3__slZ4/edit 10:22:01 and this is exactly the problem outlined here with the "faked" ARIA slider 10:22:20 James: This is something we tried to bring into INdieUI, and I think the scope was too broad. 10:22:35 tl;dr: even if custom controls follow EXACTLY the patterns for kbd usage outlined in ARIA, they will be completely inaccessible for touch+AT scenarios 10:22:49 due to the assumption that keyboard listeners will be enough 10:22:59 rrsagent, draft minutes 10:22:59 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html clapierre 10:23:16 present+ Charles_LaPierre 10:23:21 patrick_h_lauke_ is there a place where this is being worked on? 10:23:28 present+ George_Kerscher 10:23:32 Matt King: The patterns we are creating for ARIA widgets, that process keypress for accessibility 10:23:53 James: WE aren't all the way there yet. 10:23:53 rrsagent, make logs public 10:24:06 rrsagent, draft minutes 10:24:06 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html clapierre 10:24:19 ... Alice will talk about more examples 10:24:24 so for keyboard (without AT) authors will still have to do key handling, and then for AT usage AOM will provide more input-agnostic event handling 10:24:29 Alice: 10:24:37 present+ Avneesh_Singh 10:25:38 patrick_h_lauke has joined #aom 10:25:55 ... [shows code for an example of an autocomplete list] 10:26:31 el.accessibleNode.labelledBy = [el1] 10:26:34 ... el.accessibileNode.labelledBy=[el1]; 10:26:49 const input = combobox.shadowRoot.querySelector("input") 10:27:07 const optionList = comboBox.querySelector("custom-optionlist"); 10:27:14 Kangchan_ has joined #aom 10:27:24 input.accessibleNode.activeDescendant = optionList; 10:27:25 James: labelledBy is an ARIA property, there is no attempt to override ARIA, just to use it in javascript. 10:27:39 present+ JohnJansen 10:28:06 ... none of the smaples being proposed are possible today 10:29:06 Wilco: Could you insert an ID so you change it later? 10:29:27 James: Use the ARIA DOM manipulation thatwe have today 10:29:52 ... this extends the existing ARIA -- this is not for most developers 10:30:12 Rich: You are going to have two trees, isn't this going to cause problems 10:30:38 Brian: As a developer, there are two trees. Having something that explains it is better than magic that we have no insight into it. 10:31:04 s/cause problems/cause problems? 10:31:24 Alice: WE are trying to keep this tightly scoped so we can ship something as quickly as possible. 10:31:34 ... readily implementable 10:31:48 ... must to expose user details (privacy) 10:32:02 ... must not negatively affect performance 10:32:20 ... must be easy to author, but it is not for all authors. 10:32:28 Topic: Audience for AOM 10:32:36 Primarily for experts 10:32:41 ... frameworks enggineers 10:32:48 ... web component authors 10:32:56 ... Doc suite developers 10:33:24 ... JS-expert Accessibility experts 10:33:41 TOpic: Tightly Scoped Developments 10:33:55 1) Modifying Accesible Propoerties 10:34:05 2) Accessible Actions and events 10:34:30 3) Virtual accessibility nodes (e.g. canvas, WebGL) 10:35:12 4) Introspection of the Fully Computed Accessibility Tree. Need to very careful for performance 10:35:37 Dominic: To be able to set a property and not read it back is a new condition on the web. 10:36:07 @@@: gives example of when it has been done before 10:36:34 Alice: Style and Computed Style is a g ood example 10:36:57 Dominic: How does stage 2 work? 10:37:28 Alice: It's a issue, it requires consent 10:38:15 James: If you had an example of a slider, it would have it own @@ and the average user would not receive the event. 10:39:06 ... and example is location services. Most developers will set up an opt-in process, and I anticipate that is the way it could work 10:39:35 github.com/a11y-api 10:39:49 ... It will move to WICG soon. 10:40:08 https://discourse.wicg.io/t/contributing-the-accessibility-object-model-specification/1702 10:40:19 Lisa: This is giving developing developers direct access to the accessibility tree 10:40:24 Kangchan has left #aom 10:40:28 James: IN phase 4. Maybe 10:41:03 Lisa: there is a fuzzy area between assistive techology and the app 10:41:37 ... example, people will still use HTML scraping instead of this tecchnology 10:41:54 James: In phase 4 people may be able to do that. 10:42:25 q? 10:42:31 James: This is not the platform tree, it is a browser tree. Windows, Mac and iOS all use different technologies 10:42:36 q+ 10:42:41 q+ 10:42:41 q+ 10:42:42 q+ doug 10:42:45 q? 10:42:58 Zakim has joined #aom 10:43:01 q+ 10:43:12 q+ 10:43:31 Jesse: Ifk you take away the assistive tech, we still need to make it keyboard accessible. If we mix accessible events into this mix, we aren't getting extra benefit for getting @@ 10:44:48 Jesse: seems like there a re two proposals: access to accessibility tree, and accessibility events 10:44:52 Jesse: There are two things happening. Accessible events that can be listed to. 10:44:54 dcooney has joined #aom 10:45:03 q+ 10:45:05 q+ 10:45:09 q+ domenic 10:45:14 q+ doug 10:45:44 Matt: Mousedown and mouse events -- that should still work. Nothing breaks, nothing changes (knock wood) 10:45:55 q? 10:46:15 ... the benefit is only for assistive technologies that do not use keyboard events to increment 10:46:33 ... [example] 10:47:05 ...AOM doesn't add anything new for keyboard/desktop (with/without AT) users? 10:47:32 as in these cases even with AT, key events are sent, and those are listened to (using example of custom slider) 10:47:33 James: On the desktop, there are other keyboard commands to increment and decrement sliders 10:47:35 q? 10:47:49 james: but on mobile + AT 10:47:52 zakim, close q 10:47:52 I don't understand 'close q', jeanne 10:48:03 zakim, close queue 10:48:03 ok, jeanne, the speaker queue is closed 10:48:12 rrsagent, make minutes 10:48:12 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html jeanne 10:49:54 Domenic: Make it as ergonomic as possible 10:50:38 James: @@ doesn't work in Web Components, WebGL 10:51:08 zakim, q? 10:51:08 I see patrick_h_lauke, boazsender, richardschwerdtfeger, dcooney, domenic, doug on the speaker queue 10:51:14 Doug: The popular ones will be the performing ones 10:52:11 Francois (MS): One propsal I see, in PHase 3. The Accessibility Tree is not independent of the DOM tree, it is produced by the DOM tree. WHen you change the root, it has to be regenerated. 10:52:30 ... you cannot decide the tree will be generated by the browser. It is something at risk 10:52:41 s/Francois/frremy 10:53:28 James: Here's the current thinking. One of the things we would like (but may not get) -- example of large data set of music, we want to say there if there were virtual nodes, it would be on the subDOM of a specific node. 10:53:50 ... it would come along with the DOM node, but would not mix children into the same parent. 10:54:15 Francois: that doesn't address @@@@ 10:54:50 q- 10:55:02 Patrick: 1) excited about accessible action events - in IRC I put a link to documentation of the ARIA patterns and where they fail with touch events 10:55:03 @@@@/the case where you want to have list-items directly as children of a list 10:55:53 James: Indie UI would have been nice 10:56:59 Patrick: Asking user permission and the comparison with Geolocation. With Geolocation, hopefully it will still work. If the user can say no with custom widgets, then they can't use the site. It's like blackmail, if you tell us you are an AT user, then it can work. 10:57:33 James: I want developers to understand more about the assistive technologies 10:57:59 q- 10:58:07 ... the understanding may allow us to make better generalized APIs in the future 10:58:21 Rich: Are you expecting to have more accessible nodes? 10:58:50 James: There could be, the way the tree is made right now. 10:59:06 Rich: ARe you planning to build another sub-tree? is there a way to make it more simple 10:59:56 James: a concern of all the implementers is performance. accessibleNode is a property of element, and you are just reading/writing to it. 11:00:48 Alice: If kyou set a style and give invalid properties and it will be ignored. This is the same, if you give it invalid properties, it will be ignored. 11:02:14 bikeshedUI 11:02:49 patrick_h_lauke has left #aom 11:02:56 rrsagent, draft minutes 11:02:56 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html clapierre 11:04:42 TOPIC: Slide text content follows 11:04:50 Accessibility Object Model 11:04:58 James Craig Apple Accessibility 11:04:59 Alice Boxhall Google Chrome Accessibility 11:05:00 Dominic Mazzoni Google Chrome Accessibility 11:05:01 Alex Surkov Mozilla Accessibility 11:05:09 jeanne2 has joined #aom 11:05:54 Agenda 11:05:55 • History: previous proposals and vendor discussions 11:05:57 • Common problems for noticed by browser vendors 11:05:58 • Example problems and code samples 11:06:00 • Considerations for scoping 11:06:01 • Audience for this technology 11:06:02 • Tightly-scoped, phased development plan 11:06:03 • Q &A 11:06:15 History: Previous Attempts 11:06:15 • Intentional Events 11:06:17 • Canvas Sub-DOM: technically possible, but prohibitively tedious and expensive • Apple: UI Independence (spawned IndieUI) and Accessible RTE proposals 11:06:18 • Google chrome.automation Extension API 11:06:20 • Mozilla: A11y API proposal 11:06:21 • Microsoft: WAPA proposal 11:06:23 • 2016: Offline vendor discussions leading to WICG incubation AOM effort 11:06:24 Common Problems 11:06:26 • DOM manipulation requirement of ARIA can perform poorly with large datasets 11:06:27 • Reliance on in-document IDREF prevents some usage (e.g. Shadow DOM) 11:06:28 • No way to receive accessibility events (e.g. increment a custom slider) 11:06:29 • Some complex office suites (Google Docs, iWork for iCloud, etc) are challenging to make accessible through standard techniques: POSH+ARIA doesn't cut it. 11:06:30 • Bonus: Accessibility Inspection and Testing 11:06:33 Code Samples 11:06:34 el.accessibleNode.labelledBy = [el1]; 11:06:36 const input = comboBox.shadowRoot.querySelector("input"); 11:06:37 const optionList = comboBox.querySelector("custom-optionlist"); 11:06:39 input.accessibleNode.activeDescendant = optionList; 11:06:40 Considerations for Scoping 11:06:42 • Must be readily implementable 11:06:43 • Must not expose user details (privacy) 11:06:45 • Must not negatively affect performance • Must be easy to author * 11:06:46 Audience for AOM 11:10:32 jeanne has joined #aom 11:41:41 clapierre has joined #aom 11:47:32 jcraig has joined #aom 12:01:49 laudrain has joined #aom 12:03:07 jcraig has joined #aom 12:03:25 rdeltour has joined #aom 12:07:41 tzviya has joined #aom 12:07:51 bz has joined #aom 12:07:53 bz has left #aom 12:12:57 SteveF has joined #aom 12:13:48 rrsagent, make minutes 12:13:48 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html jcraig 12:28:51 laudrain has joined #aom 12:31:41 jeanne has joined #aom 12:31:58 rrsagent, make minutes 12:31:58 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html jeanne 12:50:02 s/@@ doesn't work in Web Components/IDREF doesn't work across shadow root boundaries in Web Components/ 12:54:27 present+ About_30_more_people 12:54:35 rrsagent, make minutes 12:54:35 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html jcraig 12:55:25 present+ Alice_Boxhall 12:56:55 richardschwerdtfeger has joined #aom 13:00:23 clapierre has joined #aom 13:01:44 laudrain has joined #aom 13:05:30 rdeltour has joined #aom 13:05:31 laudrain has left #aom 13:05:45 tzviya has joined #aom 13:05:51 rdeltour has left #aom 13:09:52 mck has joined #aom 13:16:08 jcraig has joined #aom 13:16:37 rrsagent, make minutes 13:16:37 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html jcraig 13:24:38 s/Dominic Mazzili and @@@ from Google/Dominic Mazzoni from Google, and Alex Surkov from Mozilla/ 13:25:39 s/"role=slide"/"role=slider"/ 13:26:54 s/also contributing Alice Boxhall,/along with my colleagues Alice Boxhall from Google,/ 13:28:13 s/Domenic sent this prooposal to send to WICG/Dominic sent this prooposal to WICG yesterday/ 13:29:39 s/Dominic: How does stage 2 work?/Domenic: How does stage 2 work?/ 13:30:24 s/Standrd Assitive /Standard Assistive / 13:31:44 s/must to expose/must not inadvertently expose/ 13:32:03 jeanne has joined #aom 13:32:34 s/enggineers/engineers/g 13:33:08 s/Doc suite developers/Doc suite developers (Google Docs, iWork for iCloud, etc)/ 13:33:49 s/Dominic:/Domenic:/g 13:35:09 s/How does stage 2 work?/How does stage 2 (accessibility events) avoid exposing user details?/ 13:36:45 s/It's a issue, it requires consent/It's a outstanding issue (TBD), it may likely require explicit user consent./ 13:38:43 mck has left #aom 13:57:50 clapierre has joined #aom 14:27:37 IanPouncey has joined #aom 14:36:00 IanPouncey has joined #aom 14:37:02 clapierre has joined #aom 14:37:12 jeanne has joined #aom 14:37:31 clapierre has joined #aom 14:47:57 richardschwerdtfeger has joined #aom 15:06:30 tzviya has joined #aom 15:11:12 Zakim has left #aom 15:12:28 clapierre has joined #aom 15:22:38 jcraig has joined #aom 15:26:26 clapierre has joined #aom 15:39:34 clapierre has joined #aom 15:59:02 jeanne has joined #aom 16:49:20 jcraig has joined #aom 16:49:48 RRSAgent, MAKE MINUTES 16:49:48 I have made the request to generate http://www.w3.org/2016/09/21-aom-minutes.html jcraig 18:03:13 jeanne has joined #aom 21:04:58 tzviya has joined #aom