[Accessibility-ia2] ChildIDs Specification Incorporated into IAcc2

Pete Brunet brunet at us.ibm.com
Thu Jun 12 23:09:44 PDT 2008


Norm, 

IA2 has no IP based on MSAA.  The fact that IA2 derives from MSAA is an 
error and in a future version of IA2 that line of code will be changed to 
remove the inheritance.  No MSAA methods are used, overridden, or 
extended.

The IP concern is about the fact that the two new methods would be similar 
to the two methods in IAEx.  The file you attached to bug 114 is protected 
by "UI Automation Specification and Community Promise" (if you follow the 
link at the bottom of the first page).  Since the requested methods will 
be similar to the IAEx methods it's not clear that there are no legal 
issues.  There are at least the following questions:

1) Can the IA2 related code be part of the IA2 suite of interfaces?
2) Can the IA2 related code be licensed under any license that the Linux 
Foundation chooses?
3) If it has to be licensed under the  "UI Automation Specification and 
Community Promise" what are the implications for organizations that would 
implement the interfaces?

Also see
https://lists.linux-foundation.org/pipermail/accessibility/2008-March/002298.html
https://lists.linux-foundation.org/pipermail/accessibility/2008-March/002308.html

At this point I only see two ways out of this:
1) Arrange a face to face meeting with Microsoft and Linux Foundation 
attorneys (are there also AIA attorneys?) and have then work together 
until a legal agreement is reached where the LF could proceed.
2) Since Microsoft seems to be the only organization requesting these two 
methods have them released by Microsoft or AIA.

I'd prefer the former because some other organization may eventually 
surface that could use the methods.

=====

Larry, An interface with two methods would be added.  I'm not thrilled 
with this interface name but for now here is a draft of the IDL and sample 
usage...

IAccessibleSimple:

// For this parent accessible, fetch a full accessible representing the 
specified 
// child simple element where the accessible has implemented IAccessible2
[propget] HRESULT objectForChild( [in] long childID, [out, retval] 
IAccessible2 *accessible2 );

// For this accessible, fetch the parent accessible, childID pair 
representing an equivalent simple element
[propget] HRESULT accessiblePair( [out] IAccessible * accessible, [out, 
retval] long childID );

Here is some example code (which won't compile and needs error handling 
but should be understandable)...

Example usage of the first method:

// given IAccessible acc, and long childID, get the corresponding 
IAccessible2: 
IAccessibleSimple * accSimple = NULL;
IAccessible2 * acc2 = NULL;
IServiceProvider * sp = NULL;

// QI for IServiceProvider
acc->QueryInterface(uuidof(IServiceProvider), &sp); 
if (sp) { 
    // Call QueryService to get the IAccessibleSimple
    sp->QueryService(uuidof(IAccessibleSimple), 
                     uuidof(IAccessibleSimple),
                     &accSimple); 
    if (accSimple && childID != CHILDID_SELF) { 
        // If this is a child element, use get_objectForChild to
        // get an interface instance for this specific child 
        accSimple->get_objectForChild(childID, &acc2); 
    } 
} 
if (acc2) { 
    // This object supports IAccessible2 
} else { 
    // This object doesn?t support IAccessible2, use IAccessible only
} 

Example usage of the second method:

// given acc2 (an accessible implementing IAccessible2) get an 
{IAccessible, idChild} pair: 
IAccessible * acc = NULL; 
IAccessibleSimple * accSimple = NULL;
long childID;

// QI for IAccessibleSimple
acc2->QueryInterface(uuidof(IAccessibleSimple), &accSimple); 
if (accSimple) {
    // get the IAccessible, childID pair
    accSimple->get_accessiblePair(&acc, &childID);

Pete Brunet
                                                                          
IBM Accessibility Architecture and Development
11501 Burnet Road, MS 9022E004, Austin, TX 78758
Voice: (512) 838-4594, Cell: (512) 689-4155
Ionosphere: WS4G




Norm Hodne <normanho at windows.microsoft.com> 
06/12/2008 06:24 PM

To
Larry Weiss <lweiss at microsoft.com>, Pete Brunet/Austin/IBM at IBMUS
cc
"Accessibility-ia2 at lists.linux-foundation.org" 
<Accessibility-ia2 at lists.linux-foundation.org>, Calvin Gaisford 
<CGaisford at novell.com>, Masahiko Kaneko <mkaneko at windows.microsoft.com>, 
Richard Schwerdtfeger/Austin/IBM at IBMUS, Rob Sinclair 
<robsi at windows.microsoft.com>
Subject
RE: ChildIDs Specification Incorporated into IAcc2






Hi Pete, 
 
Maybe you can help me understand where the concern is coming from. Are you 
saying that you have IP concerns over all of the MSAA that IAccessible2 
uses? Since IAcc2 derives from MSAA, and ChildIds are part of MSAA, adding 
support for ChildIds seems to provide better interoperability with its 
inclusion in the specification and would provide real benefit for AT and 
IT companies alike. 
 
Norm
 
From: Larry Weiss 
Sent: Thursday, June 12, 2008 3:58 PM
To: Pete Brunet; Norm Hodne
Cc: Accessibility-ia2 at lists.linux-foundation.org; Calvin Gaisford; 
Masahiko Kaneko; Norm Hodne; Richard Schwerdtfeger
Subject: RE: ChildIDs Specification Incorporated into IAcc2
 
But there are design considerations that the IAccessible2 owners should 
specify.  For example, what type of object should be returned by 
GetObjectForChild (note that IAccessibleEx returns an IAccessibleEx)?  I 
would think you?d at least want to discuss how this would be used by your 
implementers before coding up the IDL.
 
Larry.
 
From: Pete Brunet [mailto:brunet at us.ibm.com] 
Sent: Thursday, June 12, 2008 3:44 PM
To: Norm Hodne
Cc: Accessibility-ia2 at lists.linux-foundation.org; Calvin Gaisford; Larry 
Weiss; Masahiko Kaneko; Norm Hodne; Richard Schwerdtfeger
Subject: RE: ChildIDs Specification Incorporated into IAcc2
 

Norm, If that is all you will be able to contribute I think the Linux 
Foundation is going to need a statement from your legal staff and that is 
what I am trying to eliminate.  If you could submit the IA2 equivalent 
description I think it would be clear that the IP would not be covered by 
the UIA Community Promise or any other Microsoft IP protection.  I believe 
it would be a minor undertaking for Larry to create the IDL, well under a 
day.  It wouldn't have to be debugged or even run through MIDL, just coded 
up enough to convey the idea, basically changing UIA objects to IA2 
objects. 

Pete Brunet
                                                                         
IBM Accessibility Architecture and Development
11501 Burnet Road, MS 9022E004, Austin, TX 78758
Voice: (512) 838-4594, Cell: (512) 689-4155
Ionosphere: WS4G


Norm Hodne <normanho at windows.microsoft.com> 
06/12/2008 04:52 PM 


To
Norm Hodne <normanho at windows.microsoft.com>, Pete Brunet/Austin/IBM at IBMUS, 
"Accessibility-ia2 at lists.linux-foundation.org" 
<Accessibility-ia2 at lists.linux-foundation.org> 
cc
Calvin Gaisford <CGaisford at novell.com>, Larry Weiss 
<lweiss at microsoft.com>, Masahiko Kaneko <mkaneko at windows.microsoft.com>, 
Richard Schwerdtfeger/Austin/IBM at IBMUS 
Subject
RE: ChildIDs Specification Incorporated into IAcc2
 








Adding the A11Y alias per Rich?s suggestion? 
  
Norm 
  
From: Norm Hodne 
Sent: Thursday, June 12, 2008 12:06 PM
To: 'Pete Brunet'
Cc: Calvin Gaisford; Larry Weiss; Masahiko Kaneko; Richard Schwerdtfeger
Subject: RE: ChildIDs Specification Incorporated into IAcc2 
  
We?ve already stated that there aren?t any outstanding licensing issues 
with implementing support for ChildIDs in IAcc2, I?d be happy to state 
that again. I think you need to do your own engineering as far as how you 
would implement it for IAcc2 yes? 
  
From: Pete Brunet [mailto:brunet at us.ibm.com] 
Sent: Thursday, June 12, 2008 11:55 AM
To: Norm Hodne
Cc: Calvin Gaisford; Larry Weiss; Masahiko Kaneko; Richard Schwerdtfeger
Subject: RE: ChildIDs Specification Incorporated into IAcc2 
  

Hi Norm, I was hoping for the submission to be the equivalent IA2 
interface rather than an attachment of the IAEx spec.  I'm paranoid when 
it comes to licensing issues, no matter who the IP owner is, and rather 
than trying to work through any issues related to the licensing of the 
IAEx spec, I think all the concerns would be eliminated if Microsoft would 
submit the IA2 equivalent.  Could Larry provide that? 

Pete Brunet
                                                                        
IBM Accessibility Architecture and Development
11501 Burnet Road, MS 9022E004, Austin, TX 78758
Voice: (512) 838-4594, Cell: (512) 689-4155
Ionosphere: WS4G

Norm Hodne <normanho at windows.microsoft.com> 
06/12/2008 12:01 PM 
 


To
Pete Brunet/Austin/IBM at IBMUS 
cc
Calvin Gaisford <CGaisford at novell.com>, Masahiko Kaneko 
<mkaneko at windows.microsoft.com>, Larry Weiss <lweiss at microsoft.com> 
Subject
RE: ChildIDs Specification Incorporated into IAcc2

 
 









Hi Pete, 
 
Sorry it took so long. I?ve been traveling a lot lately. I added the 
IAccessibleEx spec as an attachment to the bug. 
 
Thanks! 
Norm 
 
From: Pete Brunet [mailto:brunet at us.ibm.com] 
Sent: Tuesday, May 27, 2008 8:47 AM
To: Norm Hodne
Subject: Fw: ChildIDs Specification Incorporated into IAcc2 
 

Norm, Are you having any issues with this request that I might be able to 
help with? 

Pete Brunet
                                                                       
IBM Accessibility Architecture and Development
11501 Burnet Road, MS 9022E004, Austin, TX 78758
Voice: (512) 838-4594, Cell: (512) 689-4155
Ionosphere: WS4G

----- Forwarded by Pete Brunet/Austin/IBM on 05/27/2008 10:45 AM ----- 

Pete Brunet/Austin/IBM 
05/16/2008 10:25 AM 
 
 


To
Norm Hodne <normanho at windows.microsoft.com> 
cc
robsi at windows.microsoft.com, Richard Schwerdtfeger/Austin/IBM at IBMUS, 
janina at freestandards.org 
Subject
Re: ChildIDs Specification Incorporated into IAcc2


 
 
 








Norm, Regarding the request by Micosoft to enhance the set of IAccessible2 
interfaces to add support for childIDs, it came to me last night that we 
should be able to resolve the legal concern regarding the addition of 
get_objectForChild and get_IAccessiblePair to the IAccessible2 set of 
interfaces.  If someone from Microsoft created the interface and attached 
it to bug 114 at http://bugs.freestandards.org/show_bug.cgi?id=114 then it 
would be clear that the content was directly from and approved by 
Microsoft and thus it would be clear that the content was not in violation 
of any Microsoft licenses, copyrights, or promises.  Since the current set 
of IAccessible2 interfaces are already in use in several implementations 
the two methods would have to be in a new interface.  I'll be happy to 
review the submission so we can come to consensus on the naming, 
documentation, etc.  We can have that interchange inside of bug 114 and 
that way it will be fully in the open and the process will be easily 
reviewable. 

Pete Brunet
                                                                       
IBM Accessibility Architecture and Development
11501 Burnet Road, MS 9022E004, Austin, TX 78758
Voice: (512) 838-4594, Cell: (512) 689-4155
Ionosphere: WS4G 

Norm Hodne <normanho at windows.microsoft.com> 
04/11/2008 12:14 PM 
 
 


To
Pete Brunet/Austin/IBM at IBMUS 
cc

Subject
ChildIDs Specification Incorporated into IAcc2


 
 
 









Hi Pete, 

Rich said that we were working the implementation of ChildIds now for 
IAcc2. How is that coming? I?ve been monitoring the A11Y information, but 
I haven?t seen a discussion on it. 

Norm 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linux-foundation.org/pipermail/accessibility-ia2/attachments/20080613/251c292f/attachment-0001.htm 


More information about the Accessibility-ia2 mailing list