--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR21MB0139BF54497D72E0A923AF5E9BAB0%40DM5PR21MB0139.namprd21.prod.outlook.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFz-FYy96NXu5zT%2BNz-1q3xGot0%2B_Hs7VUPqp3ATwJ4T%3DJ%3D99w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOqqYVF0CLDS_DA9CMG2%3DPd59pUbL-pH%2B0R9c8RgH%3DN%3DEmp-fg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_JpV3ws7S1x%3DYr%2BhyUTtmx5oyFZWDomECusQSi6%3D8y5ig%40mail.gmail.com.
Thank you all for the quick engagement! Let me try and address some of the points being made.
> Thanks for sending this out! You probably discovered that we did begin implementing this in Chromium already, but we really only scratched the surface, and we'd love to work with you to complete it.
You’re most welcome Domenic! We’re looking forward to landing all of this work into Chromium and enabling more users on the web as well! It’s going to be a fun project for sure :)
> What's the security model for these APIs? In particular, how do we ensure that a malicious program claiming to be an assistive technology tool isn't able to bypass Web security mechanisms? Or if that is impossible - how can a normal user discover that assistive technologies that he didn't intend to authorize are in use?
This is a great question. In general there could be two possible vectors of attach I can think of here. One is through manipulating the provider-side UIA interfaces and the other is by registering as a UIA client and using their client-side API to manipulate the browser and extract data. Both scenarios run under the assumption that you have running user-mode code and are able to send us WM_ messages (to obtain the UIA provider-side object through WM_GetObject at least).
One assertion to be made is that in this case the user would be compromised a lot more than what UIA could offer. In essence, if user-mode code is already executing an attacker would already have access to local disk, screen and other ways to obtain user data. In fact, the data passed through UIA interfaces (in a compliant impl) shouldn't differ from that we expose to the visual layer. If a system proxy is able to intercept calls to DierectWrite for example and collect string user data being, intercepting UIA messages shouldn't be different.
All in all, the threat model of a UIA provider shouldn't be any different than that of IAccessible (MSAA) or IAccessible2, both of which are already implemented and present in the Chromium project. I'd be happy to dive deeper if you think is necessary.
> Are these APIs, and the tooling that has to be in place in order to support them, relevant for the development of testing APIs such as WebDriver? If yes - are the efforts coordinated?
Extending WebDriver itself to support the provider-side interfaces will be unnatural as that means we bypass UIAutomation logic itself. Extending WebDriver with an extension that acts as a UIAutomation client and collects/verifies test data is something we considered doing down the road. However, none of these should require changes to WebDriver’s API surface itself.
> This is good to have though since it sounds like a feature that might be worth tracking, and later document in a release.
> There should also be a crbug and there might already be one but I only found
https://crbug.com/675899 which is about
> Windows Narrator not talking. You will be asked for a bug number when you file an entry on the feature dashboard.
Thank you Daniel. This is super helpful and quite frankly I didn’t know where to start but was hoping someone with more experience will point me at the right direction. I will make sure to follow up on it.
Thanks,
Rossen