16:56:57 RRSAgent has joined #webdriver 16:56:57 logging to https://www.w3.org/2021/12/08-webdriver-irc 16:57:05 RRSAgent: make logs public 16:58:29 RRSAgent: make minutes 16:58:29 I have made the request to generate https://www.w3.org/2021/12/08-webdriver-minutes.html jgraham 16:58:41 Meeting: WebDriver 16:58:47 Chair: AutomatedTester 16:58:59 Agenda: https://www.w3.org/wiki/WebDriver/2021-12-BiDi#Agenda 16:59:14 ScribeNick: AutomatedTester 17:01:00 brwalder has joined #webdriver 17:01:28 present+ 17:02:35 The meeting has not started? 17:02:44 doesn't look like it 17:02:58 david mighth not be around yet 17:04:14 jgraham: I think I'll need to bail after not too long, in case you want to front load anything you'd expect me to have useful feedback on. 17:04:32 present+ 17:04:35 zcorpan has joined #webdriver 17:04:37 brwalder_ has joined #webdriver 17:04:42 present+ 17:04:42 present+ 17:04:43 jugglinmike has joined #webdriver 17:04:49 present+ 17:04:52 present+ 17:05:01 present+ 17:05:07 present+ 17:05:10 mzgoddard has joined #webdriver 17:05:17 s3ththompson has joined #webdriver 17:05:24 present+ 17:05:29 present+ 17:06:08 topic: ARIA-AT Automation API 17:07:04 s3thThompson: Hi every, I am a product manager at Bocoup 17:07:19 jimevans has joined #webdriver 17:07:23 https://aria-at.w3.org/ 17:07:36 present+ 17:07:41 ... ARIA-AT is a CG project to help wit 17:07:50 ... the automation is a11y tools 17:08:19 ... we have written a large set of manual test on how screen readers should work 17:08:30 ... and we would like to automate as much as possible here 17:08:49 ... and we want to see if we can have a "screen reader driver" 17:09:13 ... we have created ways to do interactions and voice capture from the readers 17:09:48 ... but we want to do is get screenreader vendors to join and help with making interop better 17:09:55 Patrick_Angle_ has joined #webdriver 17:10:16 ... this project is focused on conformance and interop testing 17:10:29 q? 17:11:14 ... What we wanted to share quickly is an API explainer 17:11:23 ... and what the scope of the AT Driver could be 17:12:09 https://github.com/bocoup/aria-at-automation 17:13:10 zcorpan: As Seth has said, the use case is to automate screenreader testing to help screenreader vendors can make sure that things work 17:14:01 ... [discusses the states that it would need to hook into] 17:14:35 ... and we don't want to duplicate things that webdriver can already do 17:15:55 ... and we want to be simulating, at an OS level, interactions and other capabilities going. 17:16:27 ... at now, this is just an explainer, and if there is multivendor interest to make sure this standardised 17:16:28 q+ 17:16:38 q+ 17:16:44 simonstewart has joined #webdriver 17:17:17 present+ 17:17:49 jugglingmike: Simon has already convered most of the things I wanted to discuss 17:18:15 ... and we have a lot of experience with webdriver and can some cross over 17:18:31 ack jgraham 17:19:02 jgraham: I glanced over the explainer and there are a few things 17:20:04 jugglingmike: The tool we are making is focused around a websocket and we haven't got the whole creation sorted 17:20:30 ... we are watching the webdriver-bidi spec with interest 17:20:45 q+ 17:20:55 ack automatedtester 17:21:46 automatedtester: What's the difference between this and AOM and since AOM was supposed to be allowing programmatically access to the browser 17:22:18 zcorpan: AOM is only about the a11y stack and we want to test everything, including the OS level 17:22:53 s/the a11y stack/the browser-level part of the a11y stack/ 17:23:14 jugglingmike: I can imagine ARIA-AT doing a good enough job we might not need worry about the variation between tools 17:23:18 s/OS level/OS level and what the screen reader actually says/ 17:23:48 ... there is a lot of leeway around what verbage that screenreaders can use 17:24:44 q? 17:24:53 ack foolip 17:25:45 foolip: Simon, you asked if there was multiple vendor interest. WHat do we need for that? What's the role of Browser Vendors here? 17:26:46 zcorpan: The screenreader and the browser are going to be run together in an OS and we are going to need a number of people here. The most affected vendor is the screenreader vendors and to make sure that we have stronger signals of interest from them 17:26:58 ... but we still need browser vendors interested too 17:27:25 foolip: Do we need browsers to change anything or just prioritise the bugs that are likely to come out of this. 17:27:49 zcorpan: I don't think tha tbrowser vendors are missing capabilities right now to get things started 17:27:58 q? 17:28:20 My question sounded rather skeptical, so I want to say this seems like a reasonable approach, hope it works! 17:29:17 automatedtester: What is the ask of this group that we can help with? 17:29:33 zcorpan: we have a few questions so Mike, can you help? 17:30:30 jugglingmike: we keep talking about keypresses. One thing that we can maybe see if there was a way that we can get proper OS events 17:30:36 q+ 17:30:39 q+ 17:30:43 ... and then there are session capabilities 17:31:17 ... [discusses different binaries and window and sessions and how they can map together] 17:31:48 q? 17:31:57 ack simonstewart 17:32:50 simonstewart: re: keypress at OS level. We tried to get there as close as possible but it's described as best we can in W3C language. 17:33:57 ... the concept about about session. We created sessions the way we did so we can better utilise computer resourses so people can have a lot of tests running on parallel on a single machine 17:34:21 q? 17:34:27 ack jgraham 17:34:37 jgraham: re keypress 17:35:05 ... the way that things are currently done in the browser event loop instead of the OS event loop 17:35:24 ... we have sandboxed and it's going to be scary for browsers to change t 17:36:05 ... and sessions: there is a bit of state around a session that needs to be maintained 17:36:32 ... and it makes sense to do what you said 17:36:40 q? 17:37:55 s3ththompson: This has been useful and it would be great if people can read this 17:39:41 topic: Communication channel from page scripts to the automation client. 17:39:53 github: https://github.com/w3c/webdriver-bidi/issues/157 17:40:33 sadym: The first topic wanted to discuss was around what James brought up around the comms channel 17:40:47 ... there is an example in the discussion linked 17:41:24 q+ 17:41:26 ... [discusses the example] and James had some ideas that I liked 17:41:31 ack jgraham 17:42:15 jgraham: To put this into context, we discussed to have a sandbox value and [discusses generation of custom events] 17:42:44 ... this would an alternative to the other way as we can have a callback that is called 17:43:06 ... this will be simpler from spec prose as we don't have to get webidl to do things it doesnt' normally do 17:44:03 ... one concern that could be there is "what happens to scripts that are loaded on page load". It's not going to be impossible just going to be "fun" 17:44:27 ... I will write on the issue for deeper discussion 17:44:29 q? 17:44:55 topic: Discussion: need in browsingContext.findElement command 17:45:05 github: https://github.com/w3c/webdriver-bidi/issues/150 17:45:05 If people have concerns about that model it would help to post them on the issue 17:45:18 I think we're likely to get a PR soon 17:45:39 That looks like it's based on https://chromedevtools.github.io/devtools-protocol/tot/Runtime/#method-addBinding, right? 17:46:29 sadym: apparently in Selenium, we have a number of ways to find element but these can be done via script eval 17:46:39 .... do we really need a find element moving forward 17:46:52 simonstewart: it's a different approach to the same problem, you do callFunction(function, args=[callback]) and whenever the remote end calls callback it generates an event with the arguments 17:47:16 q+ 17:47:34 q+ 17:47:55 automatedtester: What would happen on things like closed shadow dom ? 17:48:13 sadym: It probably doesn't cover the shadow dom when it's closed 17:48:58 jgraham: I disagree, we can return a shadow root value to the element and then just go down that way 17:49:44 q- 17:49:58 ack simonstewart 17:50:34 simonstewart: the thing that findelement gives us separation of concerns 17:50:48 ... and in clients we can get people building their own locator types 17:50:59 ... e.g. FindElementByARIA 17:52:18 ... separating the interface is generally good design and we can have people return element ID to be passed into other things later on 17:52:22 q? 17:52:30 I note again that closed shadow roots should work with the script execution approach :) 17:52:45 I was looking for an example that might work :) 17:52:52 Point noted, jgraham! 17:53:54 topic: Remote Object Lifecycle 17:53:55 git 17:54:08 github: https://github.com/w3c/webdriver-bidi/issues/90 17:54:44 jgraham: We now have the ability to execute script and return references to objects that are owned but the ecmascript engine 17:55:16 ... at the moment, the way the spec if writen and you return an array we return a reference to it 17:55:56 ... and if that is GC'ed then when we try access them then this could problems as things could be thrown away 17:56:36 q+ 17:56:53 ... we have can have strong referenced that is associated to the global so that as long as the global exists then that's fine 17:57:11 ... or we have strong reference to root objects and weakmaps for the rest 17:57:33 ... or the CDP way of object groups 17:58:34 ... I have written up a comment on this 17:58:46 ... Please can people read through this and write it up in the issue 17:58:48 q? 17:59:08 ack simonstewart 17:59:44 simonstewart: we need to make sure we think about clients that are written without GC in mind when doing the work here 18:02:00 RRSAgent: make minutes 18:02:00 I have made the request to generate https://www.w3.org/2021/12/08-webdriver-minutes.html jgraham 18:02:04 RRSAgent: stop