Open Bug 754416 Opened 12 years ago Updated 2 years ago

Telemetry to find out what turns us on, err the accessibility engine on.

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

People

(Reporter: davidb, Unassigned)

Details

We are currently collecting telemetry on Windows to figure out who are the consumers/clients of our accessibility engine. We currently do this by looking for expected injected modules (since assistive technology have all caught on to in-process perf wins).

Telemetry is currently telling us that in 97.9% of cases a11y is instantiated, none of the expected modules are injected. So we have an unknown audience. Exciting! (Troublesome)

One thought that comes to mind is to collect data on all injected modules (dlls), correlate them with the a11y engine being instantiated, and drop all the regular dlls that are injected normally on windows...

Is this a thing we could do?
Note: let's add privacy-review-needed once we think this can work for us.
I have a vague recollection of there being some known non-AT programs that were using the a11y APIs to do things (which we noticed in the course of investigating perf problem). Are those in the list? If not you might ask, hmm, maybe bz if he remembers anything about this?

Also, it might be quicker for getting some rough data to use crash reporter / Socorro, since it already has all this info (hmm, except for knowing if a11y is enabled? that would be easy to add, and probably should be anyway...).
(In reply to Justin Dolske [:Dolske] from comment #2)
> I have a vague recollection of there being some known non-AT programs that
> were using the a11y APIs to do things (which we noticed in the course of
> investigating perf problem). Are those in the list? If not you might ask,
> hmm, maybe bz if he remembers anything about this?

Yeah, we have windows tablet keyboard (bug 538530) for example, as well as frequent problems with anti-spyware (they like to know when a password field has focus) etc. I was just finding the number super duper high (right now the relevant telemetry data doesn't seem to be there - very puzzling).


> Also, it might be quicker for getting some rough data to use crash reporter
> / Socorro, since it already has all this info (hmm, except for knowing if
> a11y is enabled? that would be easy to add, and probably should be
> anyway...).

Good idea if we can swing it. Waiting to hear from Nathan/Taras on comment 0...

Also really curious why telemetry only currently shows known clients: NVDA and Jaws as consumers... which if true, makes this bug bogus.
(In reply to David Bolter [:davidb] from comment #3)
> Good idea if we can swing it. Waiting to hear from Nathan/Taras on comment
> 0...

Sorry, I thought we had discussed this offline; my mistake!  I think it'd be totally possible to include loaded libraries in telemetry.  We've also talked about including telemetry data with crashdumps.  I don't have an opinion on which is easier...
(In reply to Nathan Froyd (:froydnj) from comment #4)
> (In reply to David Bolter [:davidb] from comment #3)
> > Good idea if we can swing it. Waiting to hear from Nathan/Taras on comment
> > 0...
> 
> Sorry, I thought we had discussed this offline; my mistake!

Oh we probably did.

> I think it'd be
> totally possible to include loaded libraries in telemetry.  We've also
> talked about including telemetry data with crashdumps.  I don't have an
> opinion on which is easier...

Both sound good. Crashdumps with telemetry would be very easy for me to find nifty.
(In reply to David Bolter [:davidb] from comment #3)
> Also really curious why telemetry only currently shows known clients: NVDA
> and Jaws as consumers

This was my bad - please ignore. I have coffee.
Over to a11y to implement this probe.
Component: Telemetry → Disability Access APIs
Product: Toolkit → Core
There is an A11Y_CONSUMERS enumerated Telemetry Histogram that collects information of whether consumers belong to Compatability.h's list of supported consumers: https://dxr.mozilla.org/mozilla-central/source/accessible/windows/msaa/Compatibility.h#86

Does that satisfy the needs of this bug?
Flags: needinfo?(dbolter)
(In reply to Chris H-C :chutten from comment #8)
> There is an A11Y_CONSUMERS enumerated Telemetry Histogram that collects
> information of whether consumers belong to Compatability.h's list of
> supported consumers:
> https://dxr.mozilla.org/mozilla-central/source/accessible/windows/msaa/
> Compatibility.h#86
> 
> Does that satisfy the needs of this bug?

Not really. This bug is about figuring out how to pull apart the 'UNKNOWN' consumers into more known ones.

(Thanks for looking at these old bugs!)
Flags: needinfo?(dbolter)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.