From The Linux Foundation
Revision as of 16:32, 17 September 2007 by Ptbrunet (Talk | contribs)

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

IAccessible2 SIG Conference Call Minutes 2007/09/04

  1. Regrets
    • Barry Feigenbaum
  2. Attendees
    • Pete Brunet, Janina Sajka, Andres Gonzalez, Aaron Leventhal
  3. OpenA11y news from Janina
  4. Version 2 of the text attributes
    • Aaron thinks they will be able to implement this in FF3.
  5. 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?
    • 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.
    • Prior 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 continue discussions with the AT vendors. He will target having more status in two weeks.
  6. IA2 has text events for both updated and changed - raised by Aaron
    • One of these is a duplicate. The Notes 8 team used UPDATED. BTW, Notes 8 only fires UPDATED. They do not ever fire INSERTED or REMOVED. JAWS doesn't use any of the text events and so the Notes 8 team only implemented the UPDATED event.
    • FF will use note use UPDATED but when there is a modification/replace will instead generate both REMOVED and INSERTED events. This is to be compatible with Linux AT-SPI.
    • Proposal is to document the following:
      • Text deleted - fire REMOVED
      • Text inserted - fire INSERTED
      • Text replaced - fire REMOVED and INSERTED *or* UPDATED
      • Unknown type of text change - fire UPDATED
    • It was agreed that this was acceptable.
  7. Inspect tool - Mike Squillace:
    • The next release of AccProbe will be as part of the Accessibility Tools Framework (AcTF), which has its Creation Review set for Sept. 17. After this review, we will (assuming successful at the review) begin committing code to AccProbe will be part of this initial commit. The next release will include enhanced Find functionality on the Explorer View, a highlighting rectangle, keyboard tracking (and possibly mouse/cursor tracking), and a User's Guide.
    • The limited release version, currently in use by the FF3 and dojo development teams, will be upgraded to r0.2 in mid September.
  8. Firefox - Aaron Leventhal
    • Fixing bugs.
    • 7 to 8 weeks of time left to change code for FF3.
    • The FF3 a11y team includes Aaron, Alexander Surkov, Ginn Chen, and Evan Yan.
  9. Best practice note for ATs - from Andres Gonzalez
    • The IA2 documents should cover how ATs should handle discovery of interfaces. In general ATs should try IA2 interfaces, followed by using the MSAA interfaces. In cases where the an app is known to have custom interfaces which provide information not supplied by IA2 or MSAA, then those custom interfaces can be used.
    • The AT can then, by default, support unknown IA2/MSAA apps, without the app developers having to request AT vendors for support on an individual app by app basis.
  10. Use of an offset of -1 to indicate end of string - raised by Aaron
    • ATK has this convention.
    • This is in plan for Notes 8.0.1.
    • The IAEditableText methods supporting this are:
      • HRESULT copyText([in] long startOffset, [in] long endOffset)
      • HRESULT deleteText([in] long startOffset, [in] long endOffset)
      • HRESULT insertText([in] long offset, [in] BSTR* text)
      • HRESULT cutText([in] long startOffset, [in] long endOffset)
      • HRESULT pasteText([in] long offset)
      • HRESULT replaceText([in] long startOffset, [in] long endOffset, [in] BSTR* text)
      • HRESULT setAttributes([in] long startOffset, [in] long endOffset, [in] BSTR* attributes)
    • The IAText methods supporting this are:
      • HRESULT addSelection([in] long startOffset, [in] long endOffset)
      • HRESULT text([in] long startOffset, [in] long endOffset, [out, retval] BSTR *text)
      • HRESULT setCaretOffset([in] long offset)
      • HRESULT setSelection([in] long selectionIndex, [in] long startOffset, [in] long endOffset)
      • HRESULT scrollSubstringTo([in] long startIndex, [in] long endIndex, [in] enum IA2ScrollType scrollType)
      • HRESULT scrollSubstringToPoint([in] long startIndex, [in] long endIndex, [in] enum IA2CoordinateType coordinateType, [in] long x, [in] long y)