Re: [Accessibility-ia2] Bitmask for rare accessibility attributes

2016-09-07 Thread Alexander Surkov
I'd say the bitmask idea is covered by states concept, for example, see
STATE_SYSTEM_HASPOPUP [1]. I guess we can add more IA2 states if needed.

[1]
https://msdn.microsoft.com/en-us/library/windows/desktop/dd373609(v=vs.85).aspx

On Tue, Sep 6, 2016 at 8:39 PM, James Teh  wrote:

> That's a very interesting idea.
>
>
> Note that for errormessage, we can first test for the invalid state, so
> this wouldn't help that. (The bigger problem there is walking the tree to
> get the message from the target.)
>
> 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.
>
> 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 
> listAccessibility-ia2@lists.linuxfoundation.orghttps://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: ja...@nvaccess.org
>
>
> ___
> Accessibility-ia2 mailing list
> Accessibility-ia2@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
>
___
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2


Re: [Accessibility-ia2] Bitmask for rare accessibility attributes

2016-09-06 Thread Dominic Mazzoni via Accessibility-ia2
On Tue, Sep 6, 2016 at 5:39 PM James Teh  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 
> listAccessibility-ia2@lists.linuxfoundation.orghttps://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: ja...@nvaccess.org
>
>
___
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2


Re: [Accessibility-ia2] Bitmask for rare accessibility attributes

2016-09-06 Thread Richard Schwerdtfeger
That makes sense to me. 
Rich Schwerdtfeger
 
 
- Original message -From: Dominic Mazzoni via Accessibility-ia2 Sent by: accessibility-ia2-boun...@lists.linuxfoundation.orgTo: accessibility-...@lists.linux-foundation.orgCc:Subject: [Accessibility-ia2] Bitmask for rare accessibility attributesDate: Tue, Sep 6, 2016 5:42 PM 
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 listAccessibility-ia2@lists.linuxfoundation.orghttps://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
 

___
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2


Re: [Accessibility-ia2] Bitmask for rare accessibility attributes

2016-09-06 Thread James Teh

That's a very interesting idea.


Note that for errormessage, we can first test for the invalid state, so 
this wouldn't help that. (The bigger problem there is walking the tree 
to get the message from the target.)



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.


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 list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2


--
James Teh
Executive Director, NV Access Limited
Ph +61 7 3149 3306
www.nvaccess.org
Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess
SIP: ja...@nvaccess.org

___
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2