Bug 97671 [preferences] Java Preference Pages using in accessible Color selection
RC1 The Linked Mode and Syntax colouring pages are both using a color button with no accessibility information. When someone using a screen reader selects it they will get no feedback as to what the button is for - just a random graphic. I assume you are not using the JFace ColorSelector as that has an accessible listener. Here is our code in ColorSelector if you need it for reference: fButton.getAccessible().addAccessibleListener(new AccessibleAdapter() { /* * (non-Javadoc) * * @see org.eclipse.swt.accessibility.AccessibleAdapter#getName(org.eclipse.swt.accessibility.AccessibleEvent) */ public void getName(AccessibleEvent e) { e.result = JFaceResources.getString("ColorSelector.Name"); //$NON-NLS-1$ } });
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/LinkedModeConfigurationBlock.java
label.setText(PreferencesMessages.LinkedModeConfigurationBlock_color); 
		gd= new GridData();
		gd.horizontalAlignment= GridData.BEGINNING;
		label.setLayoutData(gd);
		fAnnotationForegroundColorEditor= new ColorEditor(optionsComposite);
		Button foregroundColorButton= fAnnotationForegroundColorEditor.getButton();
		gd= new GridData(GridData.FILL_HORIZONTAL);
		gd.horizontalAlignment= GridData.BEGINNING;
		foregroundColorButton.setLayoutData(gd);
		
		createDependency(fShowInTextCheckBox, new Control[] {label, foregroundColorButton});
		fAnnotationTypeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
			public void selectionChanged(SelectionChangedEvent event) {
				handleAnnotationListSelection();
			}
		});
		
		fShowInTextCheckBox.addSelectionListener(new SelectionListener() {
			public void widgetDefaultSelected(SelectionEvent e) {
				
			}
			
			public void widgetSelected(SelectionEvent e) {
				ListItem item= getSelectedItem();
				final boolean value= fShowInTextCheckBox.getSelection();
				if (value) {
					
					String[] decoration= (String[]) ((IStructuredSelection) fDecorationViewer.getSelection()).getFirstElement();
					if (HIGHLIGHT.equals(decoration))
						getPreferenceStore().setValue(item.highlightKey, true);