On Tue, Sep 6, 2016 at 5:39 PM James Teh <[email protected]> wrote:

> What do you think about using an object attribute (or attributes) to do
> this, rather than a separate bit mask? That way, it's much easier to add
> new ones. Also, I'm guessing most AT (certainly screen readers) already
> have to fetch attributes anyway, so this avoids an extra call.
>
I'm lukewarm on this, because the list of object attribute strings returned
from some elements is already quite long, and there's no canonical place
where this is documented.

A string containing a list of tokens would be fine with me, just to make it
easy to extend - but I'm less keen on lumping this in with all of the
existing attributes.

It'd be interesting to benchmark this. I'd be curious how long it takes
NVDA to build a virtual buffer for a large webpage if you retrieved all
information about the accessible vs just one thing like its name, and
similarly how long it takes to do something out-of-process, like responding
to a focus change, vs how long it'd take to do so if you only retrieved one
thing.

What I'd hope to learn is whether it'd make sense to do this for all
functions you might call to get information about the accessible, or
whether it'd only make sense for the ones that are the most rarely used,
but for which you must call them for every accessible just in case. Or
maybe we'll learn that it wouldn't actually help either way.



> Thanks!
>
> Jamie
>
>
> On 7/09/2016 8:42 AM, Dominic Mazzoni via Accessibility-ia2 wrote:
>
> One of the objections Jamie brought up to making aria-errormessage an
> additional interface is that it increases the number of interfaces AT needs
> to call on every single accessible. I've also thought about this same
> issue, as the number of nodes in an average web page continues to grow
> along with the number of interfaces in IA2.
>
> What would folks think of adding some sort of bitmask to allow AT to
> quickly test for the presence of lots of properties at the same time?
> Something like:
>
> HRESULT propertyBitmask([out, retval] IA2PropertyBitmask *bitmask)
>
> enum   IA2PropertyBitmask {
>   IA2_HAS_NAME = 0x01,
>   IA2_HAS_DESCRIPTION = 0x02,
>   IA2_HAS_ERRORMESSAGE = 0x04,
>   ...
> }
>
> One could imagine variants of this, for example AT could fill in the
> bitmask with properties it's interested in, and the browser would only have
> to compute those.
>
> - Dominic
>
>
>
> _______________________________________________
> Accessibility-ia2 mailing 
> [email protected]https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
>
> --
> James Teh
> Executive Director, NV Access Limited
> Ph +61 7 3149 3306www.nvaccess.org
> Facebook: http://www.facebook.com/NVAccess
> Twitter: @NVAccess
> SIP: [email protected]
>
>
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2

Reply via email to