The Linux Foundation

 
Accessibility/IAccessible2/Agenda/20080701

From The Linux Foundation

Agenda for 2008/07/01

  1. Introductions if needed
  2. Approval of minutes
  3. LF: Open A11y news - Janina
  4. AccProbe inspect tool - Mike Squillace
  5. Firefox - Marco Zehe
  6. IA2 1.0.2 review period has completed.
    • Three issues
      • clarification of handling BSTR when there was none returned.
      • Clarification of scroll constants.
      • Clarification of the description of IAAction. The second paragraph was changed to
        Every accessible object that can be manipulated via the native GUI beyond the methods available either in the MSAA IAccessible interface or in the set of IAccessible2 interfaces (other than this IAccessibleAction interface) should support the IAccessibleAction interface in order to provide Assistive Technology access to all the actions that can be performed by the object. Each action can be performed or queried for a name, description or associated key bindings. Actions are needed more for ATs that assist the mobility impaired. By providing actions directly, the AT can present them to the user without the user having to perform the extra steps to navigate a context menu.
    • Work items:
      • Complete rework of HTML to meet Open A11y guidelines.
      • Verify that there are no impacts on generated code from v1.0.1
      • Submit to the Linux Foundation Board of Directors for approval.
      • Move 3/26/2007 1.0.1 IDL to BZR.
      • When 1.0.2 is approved move the IDL to BZR.
  7. IA2 object attributes specification. No progress.
    • 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.)
    • Jamie asked if Mozilla could enhance their support for the "formatting" object attribute, i.e. rename it to "display" and instead of just using the value "block", also use the full set of CSS2 values.
    • Pete to update the object spec to add a "display" attribute with CSS2 values.
  8. Interop with AIA - No new news.
    • This is the current status of the seven IA2 issues Calvin Gaisford opened on the behalf of AIA:
      • Issue 112: Commentary was added to the IDL.
      • Issue 113: This will probably remain as is.
      • Issue 114: Microsoft attached the IAccessibleEx specification to the bug log. This spec is protected under the "UI Automation Specification and Community Promise". Pending review by Andy Updegrove. See the bug log for more information.
      • Issue 115: Input is needed from Microsoft. This would probably be a version 2 issue.
      • Issue 116: Commentary was added to the IDL.
      • Issue 117: Input is needed from Microsoft. This would probably either be a version 2 issue or remain as is.
      • Issue 118: Commentary was added to the IDL.
    • Inter-organizational cooperation
      • UIA and UIA Express are now being developed within the AIA.
      • IA2 and ATK/AT-SPI are being developed within the Linux Foundation Open Accessibility workgroup.
      • How would Open A11y collaborate with AIA (Accessibility Interoperability Alliance)?
  9. Proposal for access to misspellings, grammar errors, and "smart tags"
    • Oliver-Rainer Wittmann from Sun sent email describing an interface proposal for access to misspelling, grammar errors and "smart tags".
    • Pete sent a note to the OpenOffice team (and the JAWS and Orca teams) suggesting that rather than creating a new interface, IAHypertext and IAHyperlink can be used. This is what Symphony has done. That note contained the following example:
      If the paragraph contained all of these (link, misspelled, smarttag, and grammar error) and they were all overlapped and the caret was at a point where they all overlapped there would be 1 hypertext and 4 hyperlinks and n actions for each hyperlink with each set of actions specific to the kind of hyperlink (link, misspelling, smarttag, grammar error). Even though the AT wouldn't be able to distinguish between the four uses of these interfaces, I believe the user would know what to do based on the action names and descriptions. And that's considering the case where the AT decides to expose the function using those interfaces and through a special AT UI. I suspect that most ATs will choose to not use these interfaces but will choose to let the user access the function through normal keyboard/AT access to the context menu, i.e. the menu activated with Shift + F10. (But apps should still implement IAHypertext/link because some ATs will want to use those interfaces.)
    • So now we'll wait to see if that is acceptable.
  10. Items raised by NVDA last year need to be put on the agenda for an upcoming Open A11y meeting
    • These are generic issues that need to be solved for both IA2 and ATK/AT-SPI dealing with objects contained in documents and tables
    • See items 4 and 5 in the October 2nd minutes for the history.
    • This was discussed during the January 22 Open a11y meeting.
    • These should be reopened and discussed with Willie and Li Yuan at a call convenient to the US, China, and Australia.
  11. Access to document revisions - from the ODF AccSC
    • This was reviewed and approved by Li Yuan the committer for ATK/AT-SPI. This will next be reviewed by the AIA. After that Li will 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 );

No progress on the following

  1. IA2 text attributes specification.
    • Pending implementation in Firefox 3 and Symphony 2.
  2. IA2 proxy DLL and the USB key fob problem - can't run NVDA and FF3 on USB stick.
    • See this post to the IA2 list for more detail.
    • Marco opened a bug against FF3.
    • 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.
  3. Eclipse
  4. Wikipedia
  5. 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.
  6. Oleacc.idl
    • No new status on when it will be back in the SDK.
  7. FAQ

[Article] [Discussion] [View source] [History]