The Linux Foundation

 
Accessibility/IAccessible2/Minutes/20080916

From The Linux Foundation

Revision as of 20:10, 17 September 2008 by Ptbrunet (Talk | contribs)

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

IAccessible2 SIG Conference Call Minutes 2008/09/16

  1. Regrets: Marco
  2. Attendees: Pete Brunet, Jamie Teh, Mike Squillace
  3. Prior two meeting minutes - approved
  4. AccProbe inspect tool - version 0.4.2 now available for download.
  5. Text attributes
    • When an attribute has more than one value, e.g. invalid:true,spelling; there should not be a trailing comma after the last value. This has been added to the IA2 text attribute spec.
    • There is no need for the auto-generated attribute to indicate the caret behavior (all: can move caret through text, first: can only move caret to the first character, none: can't move the caret into the text at all) as long as IAText::setCaretOffset returns a failure when the caret can't be set. E_FAIL is not one of the setCaretOffset return codes so Bug 174 has been opened and the fix will be included in the 1.0.2 IDL.
  6. Access to error strings for spelling and grammar errors
    • This is not needed at this time. We don't know the best answer so it's best to delay until the next release. At that time we should seriously consider adding a new event mechanism that allows returning event specific data with event.
    • Bug 183 has been opened to address the need for a new event mechanism.
  7. IAText::textAt/After/BeforeOffset errors
    • When investigating Mozilla bug 551489 the following IA2 IDL commentary errors were discovered. Bug 175 has been opened and the fix will be included in the 1.0.2 IDL.
      1. textAtOffset - The following sentence should be deleted:
        For example, if text type is IA2_TEXT_BOUNDARY_WORD, then the complete word that is closest to and located before offset is returned.
      2. textAfterOffset - The word "before" should be changed to "after" in this sentence:
        For example, if text type is IA2_TEXT_BOUNDARY_WORD, then the complete word that is closest to and located before offset is returned.
      3. The following sentence should be removed from all three of IAText::textAt/After/BeforeOffset:
        If the index is valid, but no suitable word (or other text type) is found, an empty text segment is returned.
  8. Comment on issues raised by Will Walker, and prior subsequent discussions:
    1. Adding rolesets
      • Jamie: Adding a new state, "is cell", is not a good idea.
      • Jamie, Mike (and Andres via email): There should be an intermediate cell.
      • Marco (via email): Checkboxes within table cells or similar scenarios should be considered in the future. I could not agree more! Although right now, Gecko does not provide any such constructs for Windows, this would allow for future widget enhancements in both ARIA and XUL.
      • Since we have mixed reactions we need to talk about this some more.
    2. The toolkit name and version should be moved from IAApplication to IAccessible2. Apps can be made up of objects from different toolkits, e.g. chrome vs presentation area.
      • This is bug 176. It can't be fixed in version 1.0.2 because there are existing implementations using the IDL.
    3. Roles as strings rather then integers
      • There was consensus that we shouldn't change this.
    4. The format of IAAction::keyBinding should be described.
      • Bug 177 has been opened and the fix will be included in the 1.0.2 IDL.
    5. There is a single L, double L mismatch in the labelledBy relation.
      • Bug 178 has been opened and the fix will be included in the 1.0.2 IDL.
    6. There is no tooltipFor relation.
      • Larry Weiss (via email): What is the use case that is not covered by “describedBy”?
      • Jamie: I agrees with Larry; and there is a tooltip role.
      • There was consensus that we shouldn't add a tooltip relation.
    7. If an object has IA2_MANAGES_DESCENDANTS how does an AT determine which child is active?
      • Due to the fact that WinEvents doesn't allow the child index to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages descendants scheme can't be used with IA2. Instead the active child object has to fire MSAA's EVENT_OBJECT_FOCUS. The consensus is to document that IA2_MANAGES_DESCENDANTS state and the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event are deprecated and the latter should be replaced with a focus event fired on the active child object.
      • Bug 179 has been opened and the fix will be included in the 1.0.2 IDL.
      • Also note that the commentary for the IA2_MANAGES_DESCENDANTS state is wrong. It talks about how it's provided as a signal to an AT so it knows it doesn't have to add listeners to the children. This is a carry over from the OpenOffice documentation used as a basis for the IA2 IDL. Windows has a single event queue rather than requiring registration of events on a per object basis. It also mentions that the parent object provides state notifications regarding the state of its children. In IA2 implementations the notifications come from the children.
      • Bug 180 has been opened and the fix will be included in the 1.0.2 IDL.
    8. Commentary for IAccessibleValue::minimumValue says: ...If this object has no upper bound. It should be "lower bound".
      • Bug 181 has been opened and the fix will be included in the 1.0.2 IDL.
    9. IAValue should include methods to fetch the user consumable current, minimum, and maximum values
      • The consensus is that this should be fixed in the next release. It can't be fixed in this release because it would break compatibility with existing implementations.
      • Bug 182 has been opened
      • Jamie: For each role, it should be documented what implementations should do. For exmample, progress bars should always provide the programmable values as a value from 0 to 100. Currently, for progress bars, when implementing MSAA's get_accValue most apps provide a string from 0% to 100%. However, Trolltech's Qt uses values greater than 100 and doesn't include % in the string.
      • The progress bar scenario can be documented in IAValue. What is the case for any other roles?
  9. Proxy DLL
    • Jamie will send his RC file and Pete will compare it to the RC file in bug 110.


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