This spec has just been started. The Symphony and FF3 object attributes will reviewed. The common attributes will become part of the IA2 object attributes spec and the spec will reference the FF3 and Symphony specific specifications. (The Symphony object attributes are not documented on any Symphony web site, but they'll soon be documented on the IA2 site.)

Interop with UIA - No change from the last meeting. No response from Microsoft on issues they have been requested to review.

This is the current status of the seven IA2 issues Calvin Gaisford opened on the behalf of AIA:

Issue 114: An email was sent on May 16 to Norm Hodne at Microsoft asking if Microsoft could create the interface and attach it to bug 114. That should resolve the legal concern regarding the addition of get_objectForChild and get_IAccessiblePair to the IAccessible2 set of interfaces. It would then 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. See the bug log for the full text of the email.

Issue 115: Input is needed from Microsoft. This would probably be a version 2 issue.

Symphony has already removed installation of the DLL as per the prior agreement but can add it back in around the August time frame.

Need a guideline document, linked to from the front IA2 page.

New issues from Jamie:

Mozilla is implementing IAEditableText on just about everything, e.g. combo box

For IA2::scrollTo it would be nice to have an enum value for IA2SchollType that was not limited to an edge or corner in the case that the AT doesn't care how it's brought on screen. Is a new constant needed?

Some old issues are still open. Pending documentation from Jamie.

Access to document revisions - from the ODF AccSC

This was reviewed and approved by Li Yuan the committer for ATK/AT-SPI. He has asked for someone to develop a patch.

enum IA2RevisionType {
IA2_REVTYPE_INSERTION,
IA2_REVTYPE_DELETION,
IA2_REVTYPE_FORMAT_CHANGE // The revision is due to any change in formatting attributes.
};
typedef struct {
enum IA2RevisionType type;
BSTR time; ///< ISO 8601 format: YYYY-MM-DDThh:mm:ss (eg 1997-07-16T19:20:21)
BSTR author;
BSTR comments;
} IA2RevisionInformation;
IARevisionText:
// Note: an object that implements IARevisionText must also implement IAText
// returns the number of segments available for the
// block of text represented by the IARevisionText object.
// this number is 1 based
get_segmentCount( long* count );
// returns a specific segment based on the index passed in
// the index is 0 based.
// no two indexes should return the same segment.
// any index >= 0, and less than the segment count should return a valid segment
// any index outside those bounds should set HRESULT to S_FALSE and return NULL
get_segment( long index, IARevisionSegment** seg );
// returns a segment whose boundaries encompass the offset provided
// if there are no segments that correspond to the given offset, an error is produced
// offsets correspond identically to those used by IAText and IAHyperlink
get_segmentAtOffset( long offset, IARevisionSegment** seg );
IARevisionSegment:
// returns the bounding offsets of the segment within the IARevisionText/IAText object.
// the end offset is one past the last character in the revision text
get_bounds( long* start, long* end );
// returns a struct containing date/time, author, and comments
get_attributes( IA2RevisionAttributes *attributes );
// returns a set of name value pairs describing additional application
// specific attributes in the format "name:value;name:value"
get_extraAttributes( BSTR* extraAttributes );

Developer Guide - Best practices document. We should start an outline for a best practices document. For starters it should define the following:

What events should be fired for each role and in what order.

What object hierarchy should be used. There are two today, a flat hierarchy as used in Symphony and a deeper hierarchy as used in Firefox. These two should be documented and in order to cut down on the proliferation of designs, future applications should attempt to use one or the other.