Community
Participate
Working Groups
- 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.
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.
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.
Fixed >=20081024. Dynamically subclassed all of the cell implementations so the name, description and help attributes can be overridden.