From The Linux Foundation
Revision as of 04:15, 16 October 2007 by Ptbrunet (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Agenda for 2007/10/16

  1. Introductions if needed
  2. LF: Open A11y news - Janina
  3. CSUN 2008 - IA2 related activities
    • IAccessible2 Development: An Accessibility API that Works for Assistive Technologies and Applications
      • Moderators: Pete Brunet (IBM), Andres Gonzalez (Adobe), Rich Schwerdtfeger (IBM)
      • AccProbe: Mike Squillace (IBM)
      • Firefox 3: Aaron Leventhal (IBM, Mozilla)
      • GWMicro: Doug Geoffray (or a representative)
      • Dolphin: Mike Hill
      • Sun: Malte Timmerman
      • NVDA: Mick Curran (via telephone)
      • Freedom Scientific: Glen Gordon
      • Ai Squared: Jost Eckhardt and Scott Moore
      • Lotus Symphony: Xing Li (IBM)
    • New Standards and Initiatives From Open A11y
    • Accessibility and the IBM Lotus Productivity Editors
      • This will not be a separate submission, but part of the IA2 Panel
  4. The IA2 wiki site has been updated to link to the frozen 3/26/2007 IDL.
  5. Objects contained in documents and tables - from Mick Curran
    • Previously Mick Curran asked for the following
    1. A way to know when an object is in a document or a table
    2. A way to know the parent object with role document or table
    • This would make it easier for an AT when to apply document centric logic and it would make it easier to know when navigation as moved outside of the current document or table.
    • The prior discussion was:
      • Mick suggested solving this problem with new inDocument and inTable relations.
      • Peter Korn suggested that the relations might be expensive to for the app to compute and suggested that at least item 1 could be solved by giving an object more than one role, e.g. a secondary role indicating inDocument or inTable.
      • Pete Brunet pointed out that prior consensus was to use only one role but that the same thing could be done using IA2::attributes.
      • Andres Gonzalez suggested that the document could be found via a new IA2::document method.
      • Note: AT-SPI document only has methods for getting the locale and document specific attributes. IA2 moved those methods to the IA2 object to make it more general, i.e. locale and attributes are useful for more than just document objects.
  6. Access to document revisions - from the ODF AccSC
    • The ODF AccSC asked for an investigation into how to give access to ODF's document change tracking info. ATs will need
    1. Access to whether the text at a certain offset is: unchanged, added, deleted, or changed plus the ability to access all the related descriptive information such as author and date.
    2. The ability to get a list of all revisions in a document.
    • For item 1, suggestions included:
      • Somewhat similar to IAHypertext/IAHyperlink, implement IARevisions on each revised paragraph. IARevisions would return one or more dynamically created revision objects implementing IARevision (singular) with methods giving full access to the change information plus start/end index in the revised paragraph.
      • Use IAText::attributes with new attributes indicating the kind of revision and the associated descriptive information. (This makes it difficult to decode if there revisions and attributes overlap.)
      • Note that OpenOffice does not provide this information as attributes today. It maintains an internal list.
    • For item 2, suggestions included:
      • Implement IACollections to return the revisions, e.g. find all of the revisions; or only the revisions made by a certain individual; or only the revisions that were insertions (vs. deletions). This gets around the problem on Linux/Unix where only visible accessibles exist.
      • Use the existing OpenOffice GUI
      • Use a new method on a document object, such as IA2::revisions, which would return a list of revision objects or fail in some appropriate fashion if there were no revisions.
    • Questions:
      • For item 1, if IARevisions is the chosen implementation do we need a new role for the revision object?
      • Would the objects returned by IA2::revisions (implemented on a document object) be the same objects returned by IARevisions (implemented on a paragraph)?
  7. Version 2 of text attributes
    • Please review version 2 of the attribute spec. There may be some attributes that can be eliminated thus cutting down on the workload for implementers.
    • The suggestions to date are:
      • Remove line-height-at-least.
      • Remove num-format, num-prefix, and num-suffix and replace with a new attribute named "prefix" where the value is the actual number (with any leading or trailing punctuation such as a trailing period and/or leading and/or trailing parens), or a bullet character, or the word "graphic".
  8. Addition of IAText::defaultAttributes - raised by Aaron
    • The question is: For the next release of IA2 should IAText::attributes be deprecated in favor of IAText::defaultAttributes and IAText::changedAttributes?
    • Aaron said he will talk to the ATVs. The use case for FF is a string of text with a link. In FF this will be a parent object with an embed character representing the link text and a child object holding the link text. The concept of default attributes could be helpful in this case, i.e. if the POR (Point of Regard) is in the link, a default attributes method could return the attributes of the parent affecting the child. However this could also be done by querying the parent object for the text attributes in effect at the point of the embed character. If this solution was acceptable the existing IA2 design would not have to be changed.
    • Initial discussion with ATs: Repeat the text attributes repeated on every node, because that's what Notes 8 does. However, it turns out that there are bigger issues than that, in terms of how FF is different from Notes 8:
      • Where focus is in an editable document
      • FF uses embedded object chars and a containment hierarchy, so that to get text for a line you need recursion.
    • Aaron will provide further status during the meeting.
  9. Inspect tool - Mike Squillace
  10. Firefox - Aaron Leventhal

No progress on the following

  1. IDL submission to BZR.
    • There have been no changes since the March 26 version.
  2. Eclipse
  3. Python wrappers
    • Waiting for IBM legal approval to release as BSD.
  4. 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:
  5. Wikipedia
    • Please contribute and/or review.
  6. Developer Guide
  7. Oleacc.idl
    • No new status on when it will be back in the SDK.
  8. BZR patch submission process
  9. 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?