Bug 251149 - SWT Accessibility API needs to work on all Controls
Summary: SWT Accessibility API needs to work on all Controls
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.5   Edit
Hardware: Macintosh Mac OS X
: P3 normal (vote)
Target Milestone: 3.5 M4   Edit
Assignee: Scott Kovatch CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2008-10-16 17:26 EDT by Carolyn MacLeod CLA
Modified: 2008-10-29 14:44 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carolyn MacLeod CLA 2008-10-16 17:26:02 EDT
- get the latest org.eclipse.swt and org.eclipse.swt.examples code from HEAD
- run org.eclipse.swt.examples.accessibility.SimpleButtonNameExample
- turn on VoiceOver
- type the Tab key to switch focus back and forth from the button labelled "Button" and the button with a picture of a running man
- VoiceOver should say "Running man button" when the image button has focus. Instead, it is just saying "button".

This needs to work for all native controls, and at present, it seems to only be working for subclasses of Canvas and Composite.

Note that this example works on Carbon.

For a more complicated example containing most of the native controls (no accessible api used for controls in left column; accessible name and help overridden for controls in right column), see org.eclipse.swt.examples.accessibility.ControlsWithAccessibleNamesExample. This example (mostly) works on Carbon, but only the Canvas, Composite, and Shell controls work on Cocoa.
Comment 1 Scott Kovatch CLA 2008-10-16 17:39:19 EDT
We need some way to override the accessibility on button cells. In Cocoa the button itself often doesn't provide the information about the title and so on -- it's the cell.

For that, we may have to go the dynamic route like I did for DragSource. We'll need to get NSActionCell and its subclasses (or maybe not all of them) and add in accessibility overrides.
Comment 2 Scott Kovatch CLA 2008-10-23 13:49:10 EDT
I have a fix for this, but before I commit it, what properties should the Accessible be allowed to override? Right now I have support for the title, description and help, which are the things that an AccessibleListener can provide. Looking at AccessibleControlListener and AccessibleTextListener, I don't think we want any of those to override the native controls.
Comment 3 Scott Kovatch CLA 2008-10-24 01:33:14 EDT
Fixed >=20081024. Dynamically subclassed all of the cell implementations so the name, description and help attributes can be overridden.