The Linux Foundation

 
Accessibility/IAccessible2/Agenda/20080304

From The Linux Foundation

Revision as of 07:28, 4 March 2008 by Ptbrunet (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)

Agenda for 2008/03/04

  1. Introductions if needed
  2. Prior minutes
    • Corrections? Approval?
  3. LF: Open A11y news - Janina
  4. CSUN 2008
    • F2F at 10 AM in Marriott Executive Suite 1, 18th floor.
  5. Inspect tool - Mike Squillace
  6. Firefox - Aaron Leventhal
  7. IA2 version 2 text attributes specification
    • After reviewing notes from last November the proposed changes are:
      • Add the following attributes:
        • language - values formatted according to IETF RFC 3066, e.g. en-US, de-DE.
        • writing-mode - for right to left languages, e.g. rl and lr - refer to section 7.27.7 of the XSL spec.
        • margin-top - in addition to margin-bottom/left/right which are already in the spec.
      • Add the following comments
        • Suggest that mm be used for paper based documents and px for web based documents for margin-left/right/top/bottom.
        • Suggest that pt be used for paper based documents and px for web based documents for font-size
  8. IA2 object attributes
    • For now I am going to refer to the Firefox spec and the Symphony spec which will be published a bit later.
    • What is your preference?
      • Each app defines their object attributes
      • An IA2 spec is created to standardize the set of object attributes
  9. IA2 IDL documentation
    • A backlog of about 80 issues continues to be addressed.
  10. Resolution regarding methods that return arrays of interfaces
    • The IDL will not be changed. It is usable as is. These two methods require that the client allocate the array:
      • IAccessible2::relations
      • IARelation::targets
    • The rest of the interfaces require that the server allocate the array. Note that the first max* [in] parameter will not be used and that the client must CoTaskMemFree the array when done.
      • IAccessible2::extendedStates
      • IAccessible2::localizedExtendedStates
      • IAAction::keyBinding
      • IATable::selectedChildren
      • IATable::selectedColumns
      • IATable::selectedRows
  11. Access to document revisions - from the ODF AccSC
    • Since the last meeting IA2RevisionType has been added to the struct as shown below.

enum IA2RevisionType {
  IA2_REVTYPE_INSERTION, 
  IA2_REVTYPE_DELETION
};

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;
} IA2RevisionAttributes;

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/16/2007 1.0 IDL to BZR
  3. Documentation of memory management issues for [out] parameters - the following need to be understood and documented.
    • Here is a rough first draft:
      • BSTRs need to be SysFreeString'd at end of life; ditto for when they are in structs or arrays.
      • COM interfaces need to be AddRef'd when used and Release'd at end of life.
      • Single longs, HWNDs, booleans, and structs are allocated by the caller and passed by reference. The marshaller does all the memory management. (I don't believe there are any structs with BSTRs or interface pointers.)
      • Arrays of longs - the server allocates the top level array and anything it points to; nothing needs to be free'd by the client. The marshalling code handles freeing anything on the client side.
      • TBD: How are VARIANTs handled? Like interfaces? These methods return VARIANTs: IAHyperlink::anchor/anchorTarget, IAValue::current/maximum/minimumValue
      • TBD: Are arrays of IUnknowns, e.g. IARelation::targets, correctly specified as **IUnknown?
      • This Don Box article can be used for understanding: http://www.microsoft.com/msj/1196/activex1196.aspx
  4. Wikipedia
  5. Developer Guide
  6. Oleacc.idl
    • No new status on when it will be back in the SDK.
  7. BZR patch submission process
  8. Enter defects into Bugzilla

Other Topics

  1. What else needs to be discussed?
  2. What IA2 information do you need?
  3. What IA2 issues need resolution soon? Target date?
  4. What would you like to see done?
    • FAQ
    • Others?

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