Project: SWT
Bug 311632 AccessibleObject interfering with default accessibility of Text (with Orca)
Reported: 2010-05-04 16:54:45 | Status: resolved fixed

SWT creates an AccessibleObject when the free Label relation is added. This causes a lot of code to start running in AccessibleObject even though there is no listener added to Accessible object associated to the text field in the sample below. For example, AcessibleObject.atkText_get_character_at_offset() is called as you type in the text field and the implementation gets the whole text of the widget and returns the character at the offset instead of calling the super optimized implementation. public static void main(String[] args) { // Device.DEBUG = true; Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout(1, false)); Label label = new Label(shell, SWT.NONE); label.setText("Hello"); Text text = new Text(shell, SWT.SINGLE | SWT.BORDER); text.setText("Text"); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java