The Linux Foundation

 
Accessibility/IAccessible2/Agenda/20080513

From The Linux Foundation

Agenda for 2008/05/13

  1. Introductions if needed
  2. Prior minutes
    • Corrections? Approval?
  3. LF: Open A11y news - Janina
  4. AccProbe inspect tool - Mike Squillace
  5. Firefox - Marco Zehe
  6. IA2 1.0.2 readiness for review.
    • The following issues are left:
      • Are any special coding notes needed for VARIANTS?
      • Can flows_from/to relations be used to link paragraphs? Pending input from Xing Li of Symphony.
      • When there is nothing to return from IAAText::textBefore/At/AfterOffset there are separate implementations. Symphony returns -1s in the offsets, "" for the string, and S_OK for the HRESULT. FF3 returns 0s in the offsets, NULL for the string, and S_FAIL for the HRESULT. The latter is in line with the current working draft of the spec which was updated to return 0s, NULLs, and S_FAIL as consistently as possible when there is nothing to return. JAWS appears to be OK with this, i.e. they bail on S_FALSE and equivalent results occur if "" is returned. Pending responses from Window-Eyes and NVDA.
      • I am waiting for a fix to 1.5.5. of Doxygen which is mis-formatting the method signatures. See this bug report. The backup plan is to drop back to 1.4.6.
  7. IA2 text attributes specification
  8. IA2 object attributes
    • This spec has just been started, as mentioned just above. The Symphony and FF3 object attributes will be added.
  9. Interop with UIA - Other than the last bullet under Issue 114 there has been no change from the last meeting.
    • 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:
        • This is pending AIA organizational/openness issues raised by IBM/Sun last December at the AIA kickoff meeting. It is believed that the AIA is working through those issues so AIA and LF can have goals and a legal environment which are in sync with each other. After that completes then there hopefully will be an open door from a license/legal perspective for LF to use the UIA Express like methods in the IA2 spec to map back and forth between IA2 and IA/ChildID. After all that it would likely be a version 2 issue. That could move quickly or even be part of the version 1 package that will be out for review as a LF standard very soon if the IA2 workgroup decided to put those two methods in a new Interface rather than tacking them on to the IAccessible2 interface.
        • In a prior meeting Andres said he doesn't see a need for supporting childIDs. When time permits Andres will create some sample code to verify his concept is correct.
      • 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 - How would Open A11y collaborate with AIA (Accessibility Interoperability Alliance)?
      • 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.
  10. 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 is checking with Xing Li. This may have already been solved with IAHyperlink and IAAction.
  11. IA2 proxy DLL and the USB key fob problem
    • Currently can't run NVDA and FF3 on USB stick. As per prior understanding and agreement app vendors don't install the IA2 proxy dll. But in the case of the AT and app being on a USB stick, both the AT and the app have to install and register the proxy dll. Three things are necessary:
      1. App vendors and AT vendors need to install a proxy dll and it must be installed in a location on the file system that the installer has access to, i.e. not windows/system32 which is not accessible to non-admins as is often the case on multi-user systems. The AT won't know where the app's proxy DLL is and the app won't know where the AT's proxy DLL is. The proxy DLLs used by the apps and ATs are equivalent, i.e. they all use the same v1.0.1 (March 26, 2007) IDL so the apps and ATs will be in sync.
      2. Apps and ATs both have to use CoRegisterClassObject. There is no persistent entry in the registry. The proxy DLL is only registered during run time.
      3. The actual IID that is used to identify the DLL has to be known. (The IA2 proxy IID can be used.)
    • 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.
  12. Mapping HTML tags to a11y roles
    • Andres asked if a mapping document exists between HTML tags and a11y roles (or if one could be developed). For example Firefox 3 does the following mappings:
      • ordered (or unordered) lists: role LIST with state READONLY
      • list items: role LISTITEM, also with state READONLY
    • Aaron updated this link to document that state READONLY is on ordered and unordered lists and their list items. There is also a parent page covering all roles.
  13. Access to document revisions - from the ODF AccSC
    • This should be ready to come to closure. Please review.

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. Eclipse
  2. Move latest frozen 3/26/2007 1.0.1 IDL to BZR
  3. Wikipedia
  4. 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.
  5. Oleacc.idl
    • No new status on when it will be back in the SDK.
  6. FAQ

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