Bug 232109 - [Accessibility] CCombo is not accessible when scrolling with arrow keys
Summary: [Accessibility] CCombo is not accessible when scrolling with arrow keys
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.4   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Carolyn MacLeod CLA
QA Contact:
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2008-05-14 12:05 EDT by Carolyn MacLeod CLA
Modified: 2008-05-20 18:59 EDT (History)
1 user (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-05-14 12:05:20 EDT
20080513

Run CustomControlExample and open CCombo tab.
Run any screen reader or accessibility tool.
Give focus to the CCombo - the tool reads the CCombo value correctly.
Now type arrow keys to cycle through the CCombo's values.
The accessible tool does not report the new value.

This is true of all platforms with accessibility.
Comment 1 Duong Nguyen CLA 2008-05-20 17:01:55 EDT
Mac was the only one that failed on me but with a recent fix by Carolyn, now it's working too.

Arrow keys worked on Linux (using ORCA) and Windows (using JAWS) without any changes.
Comment 2 Duong Nguyen CLA 2008-05-20 18:20:46 EDT
This does not work on Tiger.
Comment 3 Duong Nguyen CLA 2008-05-20 18:42:37 EDT
Potential patch.

------------------------------
### Eclipse Workspace Patch 1.0
#P org.eclipse.swt
Index: Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java,v
retrieving revision 1.117
diff -u -r1.117 CCombo.java
--- Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java	7 May 2008 19:46:38 -0000	1.117
+++ Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java	20 May 2008 22:39:28 -0000
@@ -1643,6 +1643,7 @@
 			Event e = new Event ();
 			e.time = event.time;
 			notifyListeners (SWT.Modify, e);
+			getAccessible().setFocus(ACC.CHILDID_SELF);
 			break;
 		}
 		case SWT.MouseDown: {
------------------------------

Comment 4 Duong Nguyen CLA 2008-05-20 18:59:05 EDT
Sorry, the problem appears to be something else. Sometimes VoiceOver goes into a confused state and it wasn't reading properly. Turning VoiceOver off/on made it work without any fixes.