On 2/25/13 11:00 PM, Alexander Surkov wrote:
> Hi, Pete.
>
> It shouldn't be static. The object is method called on is a parent.
>
> HRESULT IAccessibleText2::childOffset (
> [in] IUnknown* childAccessible,
> [out] long* offset
> );
Thanks for pointing that out Alex. I had it backward from what you are
thinking. So Is the following what you want? It moves the method from
IA2_2 to IAText2 thus resolving an issue for Jamie.
HRESULT IAccessibleText2::offsetOfChildText (
[in] IUnknown* child,
[out] long* offset
);
Return the offset in this accessible's text which corresponds to the
text of the specified child.
Returns:
S_OK is returned if the parent accessible implements IAccessibleText.
S_FALSE is returned if the parent accessible does not implement
IAccessibleText; [out] value is -1.
>
>> Also, what interfaces are implemented on the child nodes?
> depending on the object. These are IAccessible/IAccessible2,
> IAccessibleImage in case of image.
>
>> BTW, not being in the situation of needing this for my own implementation
>> I'm trusting our implementers to convey whether or not this is generally
>> useful to the IA2 community. If not then we shouldn't add the method
>> especially since there is the solution of the private interface.
> Yes, I think we can always invent on own. For example, VARIANT object
> attributes from 1.3 should work here. Probably that's the way to go
> since we can't reach an agreement on this item.
I don't sense disagreement yet. It's just taking a while. Maybe the
above rework will help resolve one of Jamie's concerns.
>
> Thank you.
> Alex.
>
>
> On Tue, Feb 26, 2013 at 1:32 PM, Pete Brunet <[email protected]> wrote:
>> On 2/25/13 9:40 PM, Alexander Surkov wrote:
>>
>> I don't mind adding the method to the spec but I don't have strong
>> opinion either. I agree with Jamie that keeping the text method on
>> IAccessible2 looks unusual. In Gecko we keep an analogue method in
>> text interface:
>> int32_t GetChildOffset(Accessible* aChild);
>>
>> That's a static method. Is it OK to have static methods in IDL? If so
>> would it make sense to add the following to IAText2?
>>
>> =====
>> HRESULT IAccessibleText2::offsetInParent (
>> [in] IUnknown* accessible,
>> [out] long* offset
>> );
>>
>> Return the text offset in the parent of the specified accessible.
>>
>> Return the text offset in the parent of the specified accessible
>> corresponding to the beginning of the text associated with the specified
>> accessible.
>>
>> Returns:
>> S_OK is returned if the parent accessible implements IAccessibleText.
>> S_FALSE is returned if the parent accessible does not implement
>> IAccessibleText; [out] value is -1.
>>
>> Note: This is a static method.
>> =====
>>
>> Also, what interfaces are implemented on the child nodes?
>>
>> BTW, not being in the situation of needing this for my own implementation
>> I'm trusting our implementers to convey whether or not this is generally
>> useful to the IA2 community. If not then we shouldn't add the method
>> especially since there is the solution of the private interface.
>>
>>
>>
>> Alex.
>>
>>
>> On Tue, Feb 26, 2013 at 12:29 PM, James Teh <[email protected]> wrote:
>>
>> Unusually :), I find it difficult to give an opinion on this. Clearly,
>> multiple people think it should be introduced. However, I find it very hard
>> to justify introducing what is essentially a hack into the main IAccessible2
>> interface. Furthermore, this method is related to IAccessibleText, yet it's
>> not in a text specific interface. Once it's in the main interface, it can't
>> be removed and server implementers have to implement it, even if they just
>> throw not implemented. If it must be introduced, I'd prefer to see a
>> separate interface for it, but that seems rather silly.
>>
>> We do have a precedent in IADocument::anchorText. That's the only method in
>> that interface.
>>
>> In short, I'm not
>> going to fight inclusion of this, since I don't have strong enough arguments
>> against, but I'm not entirely comfortable with it either.
>>
>> Jamie
>>
>>
>> On 26/02/2013 7:50 AM, Pete Brunet wrote:
>>
>> Alex, Brett, Jamie, What do you recommend?
>>
>> 1) HRESULT IAccessible2_2::offsetInParentText (
>> [out] long* offset
>> );
>>
>> Return the text offset in the immediate parent node.
>>
>> 2) Do not add this method.
>>
>> 3) Something else.
>>
>> Pete
>>
>> On 2/10/13 8:15 PM, Alexander Surkov wrote:
>>
>> It's a total hack. However, imo, this whole idea is a hack. :)
>>
>> It could be. IAccessibleHyperlink or IAccessibleText on text leafs are
>> hacks and actually it is a thin ice for Firefox. This easily could
>> face us to lot of work. Also these approaches aren't really subject of
>> the spec and it should introduce even bigger difference in
>> implementations between servers.
>>
>> On the another hand we have the method on internal layer in Firefox
>> that Brett needs. The method is used to build
>> IAccessibleText/Hypertext implementation from accessible tree. So if
>> AT works both with accessible tree and IAccesisbleText/HyperText for
>> text stuff then this method can be useful.
>>
>> Thank you.
>> Alex.
>>
>>
>> On Mon, Feb 11, 2013 at 11:00 AM, James Teh<[email protected]> wrote:
>>
>> On 11/02/2013 11:22 AM, Alexander Surkov wrote:
>>
>> Hi, Jamie. If text leafs implement IAccessibleHyperlink but previously
>> IAccessibleHyperlink was implemented by embedded objects only then
>> this might be something that AT relies on.
>>
>> I guess this is a possibility, though I'd assume that ATs that don't
>> need
>> text leaf nodes wouldn't traverse them. We'd certainly need ot check,
>> though.
>>
>>
>> On the another hand parent
>> IAccessibleHyperText would return a collection of children instead the
>> collection of embedded objects and AT could have dependencies on it as
>> well.
>>
>> Ah. I was imagining that the parent IAccessibleHypertext wouldn't return
>> the
>> text leaf nodes. See notes on hack below.
>>
>>
>> pure IAccessibleHyperlink on text leafs
>> is rather a hack than it suites them well.
>>
>> It's a total hack. However, imo, this whole idea is a hack. :)
>>
>>
>> Jamie
>>
>> --
>> James Teh
>> Director, NV Access Limited
>> Email:[email protected]
>> Web site:http://www.nvaccess.org/
>> Phone: +61 7 5667 8372
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> 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), [email protected] (MSN)
>> http://www.a11ysoft.com/about/
>> Ionosphere: WS4G
>>
>> --
>> James Teh
>> Director, NV Access Limited
>> Email: [email protected]
>> Web site: http://www.nvaccess.org/
>> Phone: +61 7 5667 8372
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>>
>> _______________________________________________
>> Accessibility-ia2 mailing list
>> [email protected]
>> 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), [email protected] (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), [email protected] (MSN)
http://www.a11ysoft.com/about/
Ionosphere: WS4G
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2