Accessibility/IAccessible2/Minutes/20080916
From The Linux Foundation
IAccessible2 SIG Conference Call Minutes 2008/09/16
- Regrets: Marco
- Attendees: Pete Brunet, Jamie Teh, Mike Squillace
- Prior two meeting minutes - approved
- AccProbe inspect tool - version 0.4.2 now available for download.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Comment on issues raised by Will Walker, and prior subsequent discussions:
- 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.
- 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.
- Roles as strings rather then integers
- There was consensus that we shouldn't change this.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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?
- Proxy DLL
- Jamie will send his RC file and Pete will compare it to the RC file in bug 110.