I supposed they are AND. But it's a good question and a weakness of
syntax if we miss OR feature. Anyway since we deal with a string then
we can introduce new syntax when needed.
Thank you.
Alex.


On Thu, Aug 16, 2012 at 1:19 AM, Pete Brunet <p...@a11ysoft.com> wrote:
>
> On 8/15/12 1:02 AM, Alexander Surkov wrote:
>
> Hi, Pete.
>
> containerByAttrbute is OK with me, taking a BSTR like "document:anchored;
> someOtherAttribute:someOtherValue;"
>
> Do all of the attribute/value pairs have to be true?
>
> I missed the question.
>
> Do all the attribute:value pairs have to match in order for a container to
> be returned, i.e. is this an AND or OR situation?
>
>
> Regarding childrenByAttribute, although there hasn't been a request for
> this, should we add it?
>
> It should be good for reserve even if nobody raised a hand for it yet.
> AT should have a fast way to find children complying the certain
> criteria.
>
> Alex, Please explain the second, third, and fourth parameters:
>
> - [in] nsIAccessible* anchor
> Is this where to start the search?  Why not just start the search from the
> current accessible?
>
> say if you look for children in the document from certain point, for
> example, you fetch all headings starting from heading #5 (because your
> virtual cursor is on it). If NULL then accessible itself.
>
> - [in] bool lookIntoSubtree
> Is this is false does that mean to only look into one level below the
> starting point?
>
> I think yes but I started to think it would be more flexible to keep
> it as integer so that we can introduce more constant when we need. Of
> course any criteria can be specified in the list "attribute:value"
> like "lookIntoSubtree;". Jamie, ideas?
>
> - [in] long desiredChildrenAmount,
> What is the purpose of limiting the array?  (There was a miscoding in the
> original IDL for IAccessible2::extendedStates,
> IAccessible2::localizedExtendedStates, IAccessibleAction::keyBinding that
> included a maxMembers parameter, but this has been fixed for
> IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns, and
> IAccessibleTable2::selectedRows.)
>
> Idea of max count argument is performance win when AT doesn't need all
> items, it's similar to relations and hyperlinks we discussed recently.
> Indeed if you need next item then you shouldn't calculate all items.
>
> Thank you.
> Alex.
>
>
> On Tue, Aug 14, 2012 at 5:45 AM, Pete Brunet <p...@a11ysoft.com> wrote:
>
> I see we have a few things to finalize yet, one of which is this thread.
>
> containerByAttrbute is OK with me, taking a BSTR like "document:anchored;
> someOtherAttribute:someOtherValue;"
>
> Do all of the attribute/value pairs have to be true?
>
> Regarding childrenByAttribute, although there hasn't been a request for
> this, should we add it?
>
> Alex, Please explain the second, third, and fourth parameters:
>
> - [in] nsIAccessible* anchor
> Is this where to start the search?  Why not just start the search from the
> current accessible?
>
> - [in] bool lookIntoSubtree
> Is this is false does that mean to only look into one level below the
> starting point?
>
> - [in] long desiredChildrenAmount,
> What is the purpose of limiting the array?  (There was a miscoding in the
> original IDL for IAccessible2::extendedStates,
> IAccessible2::localizedExtendedStates, IAccessibleAction::keyBinding that
> included a maxMembers parameter, but this has been fixed for
> IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns, and
> IAccessibleTable2::selectedRows.)
>
> I'd like to finalize all these discussions ASAP so we can finish off the 1.3
> update so please comment.
>
> Pete
>
>
> On 3/4/12 9:44 PM, Alexander Surkov wrote:
>
> I find interesting the 5th option: containerOfAttributeValuePairs. It
> looks flexible. Its syntax covers 2-4 options. Not sure I like the
> name since it's pretty long (maybe containerByAttribute or selector?
> similar to DOM API).
>
> If we discuss the traversal API then we should consider an opposite
> method to get a children like childrenOfAttributeValuePairs
> (childrenByAttribute) that takes a point in accessible tree where we
> should start a search and returns an array of children like
>
> HRESULT childrenByAttribute(
>   [in] BSTR attributes,
>   [in] nsIAccessible* anchor,
>   [in] bool lookIntoSubtree,
>   [in] long desiredChildrenAmount,
>   [out, array] nsIAccessible** children,
>   [out] long* childrenCount);
>
> Thank you.
> Alex.
>
>
> On Sat, Mar 3, 2012 at 2:13 AM, Pete Brunet <p...@a11ysoft.com> wrote:
>
> Some other thoughts:
> 1) containerOfRoles, passing in an array of roles, returning the first one
> found when looking up
> 2) containerOfAttribute, passing in a BSTR identifying the attribute and
> then looking up the tree until an accessible with that object attribute is
> found, e.g. "document".
> 3) containerOfAttributeValuePair, passing in the BSTR "document:anchored"
> 4) containerOfAttributes, passing in a BSTR with more than one attribute,
> e.g. "document; someOtherAttribute;"
> 5) containerOfAttributeValuePairs, passing in a BSTR with more than one
> pair, e.g. "document:anchored; someOtherAttribute:someOtherValue;"
>
> Are any of those useful?  Are there other ideas?
>
> Pete
>
>
> On 3/1/12 11:16 PM, Alexander Surkov wrote:
>
> It's not very flexible. For example, you need to call several times if
> you want to get an accessible having a role from desired set of roles.
> Actually it introduces the basics of traversal API which must be handy
> for ATs but these basics don't look enough.
>
> Also I worry if document is mapped well always into role concept. For
> example, anchor target is applicable to any DOM document but role of
> DOM document accessible can be overridden by ARIA. If someone crazy
> enough creates a widget (like listbox) based on document and makes
> scrolling by passing '#' into URL then AT still might want to read
> that widget starting from anchorTarget.
>
> Thank you.
> Alex.
>
>
> On Fri, Mar 2, 2012 at 6:49 AM, Pete Brunet <p...@a11ysoft.com> wrote:
>
> Maybe we need IA2::containerOfRole?
>
> HRESULT IAccessible2::containerOfRole([in]long role, [out, retval] IUnknown
> **container)
>
> Pete
>
>
> On 2/23/12 8:40 PM, Alexander Surkov wrote:
>
> I'd say we should consider interfaces performant by design. If AT
> needs to get a containing document for accessible occasionally then it
> makes sense to do: o(1) is always preferable over o(n). I don't have
> good data when AT needs that but I should say that last year we were
> asked by one AT vendor to provide a mechanism to find a tab document
> having an accessible. We hacked IServiceProvider::QueryService for
> that. Maybe it'll be nice if IA2 had built-in methods to do that.
>
> If you say yes to this idea in general then we need to consider
> relation mechanism for this since I guess AT might need different
> types of documents like
> 1) containing document
> 2) tab document
> 3) window document
> 4) application
>
> Relation mechanism allows us to avoid a method per document type (sure
> we could have keep one method and pass document type as argument).
>
> Ale.x
>
> On Fri, Feb 24, 2012 at 12:57 AM, Pete Brunet <p...@a11ysoft.com> wrote:
>
> The apparent reason for this new method is for performance, i.e. the AT
> can already walk up the tree looking for a role of interest.  Has there
> been a situation where walking up the tree is causing a performance
> problem?  In my experience, AT (at least some AT) are constantly walking
> up and down the tree, and I haven't noticed a performance issue.  Also,
> as Jamie implies, you'd only have to walk the tree once to find the
> parent of interest and then save a reference to it.  I just want to make
> sure we are solving a real problem before inflating IA2.  -Pete
>
> On 2/22/12 4:27 PM, James Teh wrote:
>
> On 22/02/2012 6:54 PM, Alexander Surkov wrote:
>
> The proposed document accessible concept is close to DOM document.  ...
> One example was get_accChild that can return child accessible
> by uniqueID.
>
> True, though the only time you ever need that is to test whether a
> given node is within a document. If you are trying to do that, you
> probably already have a reference to the document accessible.
>
> All caret/selection methods are
> fast on document accessible and slow on child accessible.
>
> But in that case, we're probably dealing with an editable document,
> which is a real ROLE_SYSTEM_DOCUMENT object. Trying to query for caret
> or selection on an application or frame just doesn't make sense.
>
> Theoretically anchorTarget is applicable to any document type,
> requirement is the URL should contain '#' pointing to element.
>
> Technically, that's true, but I don't see any use case for this in the
> wild. Why would an AT want to query for anchor target on an application?
>
> The problem is that all of this is abusing the idea of a document
> property. In Gecko, an application might be the same internally as a
> document, but that's not true from a user (and probably AT) perspective.
>
> One option is to note that the document property just returns the
> nearest document. If necessary, add a note stating that this will
> usually be a ROLE_SYSTEM_DOCUMENT accessible, but that the definition
> of document depends on the application. This makes a little trickier
> for clients to know what they'll get, but it does allow for a bit of
> flexibility.
>
> Jamie
>
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
>
> --
> Pete Brunet
>
> a11ysoft - Accessibility Architecture and Development
> (512) 467-4706 (work), (512) 689-4155 (cell)
> Skype: pete.brunet
> IM: ptbrunet (AOL, Google), ptbru...@live.com (MSN)
> http://www.a11ysoft.com/about/
> Ionosphere: WS4G
>
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
>
> --
> Pete Brunet
>
> a11ysoft - Accessibility Architecture and Development
> (512) 467-4706 (work), (512) 689-4155 (cell)
> Skype: pete.brunet
> IM: ptbrunet (AOL, Google), ptbru...@live.com (MSN)
> http://www.a11ysoft.com/about/
> Ionosphere: WS4G
>
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
>
> --
> Pete Brunet
>
> a11ysoft - Accessibility Architecture and Development
> (512) 467-4706 (work), (512) 689-4155 (cell)
> Skype: pete.brunet
> IM: ptbrunet (AOL, Google), ptbru...@live.com (MSN)
> http://www.a11ysoft.com/about/
> Ionosphere: WS4G
>
>
> --
> Pete Brunet
>
> a11ysoft - Accessibility Architecture and Development
> (512) 467-4706 (work), (512) 689-4155 (cell)
> Skype: pete.brunet
> IM: ptbrunet (AOL, Google), ptbru...@live.com (MSN)
> http://www.a11ysoft.com/about/
> Ionosphere: WS4G
_______________________________________________
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2

Reply via email to