Summary: | List and Table behave differently when labelled with a Label | ||
---|---|---|---|
Product: | [Eclipse Project] Platform | Reporter: | Tod Creasey <Tod_Creasey> |
Component: | SWT | Assignee: | Carolyn MacLeod <carolynmacleod4> |
Status: | RESOLVED WONTFIX | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | n.a.edgar |
Version: | 2.0 | Keywords: | accessibility |
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Windows 2000 | ||
Whiteboard: |
Description
Tod Creasey
2002-03-05 08:51:41 EST
CM to investigate. Completely expected behavior. Here is a section from the MSAA SDK: Providing the Name Property Server developers must take care when creating predefined and common controls to ensure that Active Accessibility can expose the Name property for the control. Depending on the kind of control, the text for the Name property comes from one of the following: - The control's window text (or caption) - Static text that labels the control To find the control's window text, Active Accessibility sends the WM_GETTEXT message to the control. This text corresponds to the text parameter in the control's resource definition statement. For some controls, such as buttons, this is the same text that is displayed with the control. For other controls, such as toolbars, this text is not displayed. Therefore, server developers must provide meaningful text in the control's resource definition statement to help users of client utilities identify the control. To find the control's label, Active Accessibility searches for a static text control by calling GetWindow with the GW_HWNDPREV flag. The search is halted if a static text control is found, or if a control is encountered that has the window styles WS_GROUP | WS_TABSTOP. This search order corresponds to the reverse tab order on a dialog box. Server developers must observe the tab order when creating controls so that a static text control immediately precedes the control that it labels. Sorry about the previous note. Yes, this is in fact expected behavior, but not for the reaason I listed. The SWT List is a win32 "LISTBOX" control. The SWT Table is a win32 "SysListView" control. If we look at the default accessibility behavior for get_accName specified for each control, we see that they are intened to behave differently (of course, it does not say why... <g>). Here are the specs: LISTBOX: get_accName The Name property for the list box object is the text from a static text control that labels the list box. For the list box items, the Name property is the text of the list item. SysListView: get_accName The Name for the list view object is obtained from the control's window text (or caption). This text is not displayed with the list view control, so server developers must provide meaningful text in the control's resource definition statement to help users of client utilities to identify the control. For the list view items, the Name property is the text of the list item. Platform limitation. Can be deferred. Platform behavior. |