mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Bug 576639 - [Accessibility][A11y] reduce JAWS table read while in table
correct previous fixes Bug 575946, Bug 575949, Bug 576090 to use only parent for accessibility add of table description. Change-Id: Idbc39f13c06f27ed106839d922c328f3bce76d16 Signed-off-by: GeraldMit <Gerald.Mitchell@ibm.com>
This commit is contained in:
parent
8d173637f7
commit
e8b257c645
4 changed files with 56 additions and 45 deletions
|
@ -37,8 +37,8 @@ import org.eclipse.jface.viewers.IStructuredSelection;
|
|||
import org.eclipse.jface.viewers.LabelProvider;
|
||||
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.accessibility.AccessibleAdapter;
|
||||
import org.eclipse.swt.accessibility.AccessibleEvent;
|
||||
import org.eclipse.swt.accessibility.ACC;
|
||||
import org.eclipse.swt.accessibility.AccessibleListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.events.SelectionListener;
|
||||
|
@ -133,18 +133,17 @@ public class CustomFiltersDialog extends SelectionDialog {
|
|||
fUserDefinedPatterns.setLayoutData(data);
|
||||
String patterns = convertToString(fPatterns, SEPARATOR);
|
||||
fUserDefinedPatterns.setText(patterns);
|
||||
|
||||
fUserDefinedPatterns.setToolTipText(FilterMessages.CustomFiltersDialog_patternInfo);
|
||||
// Info text
|
||||
final Label info = new Label(group, SWT.LEFT);
|
||||
info.setText(FilterMessages.CustomFiltersDialog_patternInfo);
|
||||
|
||||
// add the info text as a description to the pattern field
|
||||
fUserDefinedPatterns.getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getDescription(AccessibleEvent e) {
|
||||
fUserDefinedPatterns.getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = FilterMessages.CustomFiltersDialog_patternInfo;
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
// Enabling / disabling of pattern group
|
||||
fEnableUserDefinedPatterns.setSelection(fEnablePatterns);
|
||||
|
@ -191,12 +190,11 @@ public class CustomFiltersDialog extends SelectionDialog {
|
|||
if (initialSelection != null && !initialSelection.isEmpty())
|
||||
checkInitialSelections();
|
||||
|
||||
fCheckBoxList.getTable().getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getName(AccessibleEvent e) {
|
||||
fCheckBoxList.getTable().getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = FilterMessages.CustomFiltersDialog_filterList_label;
|
||||
}
|
||||
});
|
||||
}));
|
||||
fCheckBoxList.getTable().setToolTipText(FilterMessages.CustomFiltersDialog_filterList_label);
|
||||
|
||||
// Description
|
||||
|
|
|
@ -56,8 +56,8 @@ import org.eclipse.jface.viewers.TreeViewer;
|
|||
import org.eclipse.jface.viewers.Viewer;
|
||||
import org.eclipse.jface.viewers.ViewerComparator;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.accessibility.AccessibleAdapter;
|
||||
import org.eclipse.swt.accessibility.AccessibleEvent;
|
||||
import org.eclipse.swt.accessibility.ACC;
|
||||
import org.eclipse.swt.accessibility.AccessibleListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.events.SelectionListener;
|
||||
|
@ -650,12 +650,11 @@ class CEditorColoringConfigurationBlock extends AbstractConfigurationBlock {
|
|||
|
||||
fListViewer.getControl().setLayoutData(gd);
|
||||
// add the coloring element label text as the name for the list viewer
|
||||
fListViewer.getControl().getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getName(AccessibleEvent e) {
|
||||
fListViewer.getControl().getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = PreferencesMessages.CEditorColoringConfigurationBlock_coloring_element;
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
Composite stylesComposite = new Composite(editorComposite, SWT.NONE);
|
||||
layout = new GridLayout();
|
||||
|
@ -721,12 +720,11 @@ class CEditorColoringConfigurationBlock extends AbstractConfigurationBlock {
|
|||
gd.heightHint = convertHeightInCharsToPixels(5);
|
||||
previewer.setLayoutData(gd);
|
||||
// add the preview label text as the name to the previewer
|
||||
previewer.getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getName(AccessibleEvent e) {
|
||||
previewer.getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = PreferencesMessages.CEditorColoringConfigurationBlock_preview;
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
fListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2002, 2010 QNX Software Systems and others.
|
||||
* Copyright (c) 2002, 2021 QNX Software Systems and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
|
@ -11,6 +11,7 @@
|
|||
* Contributors:
|
||||
* QNX Software Systems - Initial API and implementation
|
||||
* Wind River Systems, Inc. - Bug fixes
|
||||
* IBM Corporation - Bug fixes
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.internal.ui.preferences;
|
||||
|
||||
|
@ -33,8 +34,8 @@ import org.eclipse.jface.text.templates.ContextTypeRegistry;
|
|||
import org.eclipse.jface.text.templates.Template;
|
||||
import org.eclipse.jface.window.Window;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.accessibility.AccessibleAdapter;
|
||||
import org.eclipse.swt.accessibility.AccessibleEvent;
|
||||
import org.eclipse.swt.accessibility.ACC;
|
||||
import org.eclipse.swt.accessibility.AccessibleListener;
|
||||
import org.eclipse.swt.graphics.Font;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
|
@ -111,6 +112,25 @@ public class CTemplatePreferencePage extends TemplatePreferencePage {
|
|||
PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), ICHelpContextIds.TEMPLATE_PREFERENCE_PAGE);
|
||||
}
|
||||
|
||||
/*
|
||||
* @see PreferencePage#createContents(Composite)
|
||||
*/
|
||||
@Override
|
||||
protected Control createContents(Composite ancestor) {
|
||||
Control control = super.createContents(ancestor);
|
||||
//must occur after contents created
|
||||
if (getTableViewer() == null) {
|
||||
String description = getDescription();
|
||||
//same description as used in PreferencePage.createDescriptionLabel(Composite parent)
|
||||
getTableViewer().getControl().getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = description;
|
||||
}
|
||||
}));
|
||||
}
|
||||
return control;
|
||||
}
|
||||
|
||||
/*
|
||||
* @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#getFormatterPreferenceKey()
|
||||
*/
|
||||
|
@ -157,12 +177,9 @@ public class CTemplatePreferencePage extends TemplatePreferencePage {
|
|||
data.heightHint = convertHeightInCharsToPixels(5);
|
||||
control.setLayoutData(data);
|
||||
|
||||
control.getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getName(AccessibleEvent e) {
|
||||
e.result = PreferencesMessages.TemplatePreferencePage_Viewer_preview;
|
||||
}
|
||||
});
|
||||
control.getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
e.result = PreferencesMessages.TemplatePreferencePage_Viewer_preview;
|
||||
}));
|
||||
|
||||
CSourcePreviewerUpdater.registerPreviewer(viewer, configuration,
|
||||
CUIPlugin.getDefault().getCombinedPreferenceStore());
|
||||
|
|
|
@ -56,8 +56,8 @@ import org.eclipse.jface.viewers.ITableLabelProvider;
|
|||
import org.eclipse.jface.viewers.LabelProvider;
|
||||
import org.eclipse.jface.viewers.ViewerComparator;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.accessibility.AccessibleAdapter;
|
||||
import org.eclipse.swt.accessibility.AccessibleEvent;
|
||||
import org.eclipse.swt.accessibility.ACC;
|
||||
import org.eclipse.swt.accessibility.AccessibleListener;
|
||||
import org.eclipse.swt.custom.StyledText;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
|
@ -158,7 +158,7 @@ final class CodeAssistAdvancedConfigurationBlock extends OptionsConfigurationBlo
|
|||
}
|
||||
}
|
||||
|
||||
private final Comparator<ModelElement> fCategoryComparator = new Comparator<>() {
|
||||
private final Comparator<ModelElement> fCategoryComparator = new Comparator<ModelElement>() {
|
||||
@Override
|
||||
public int compare(ModelElement o1, ModelElement o2) {
|
||||
return o1.getRank() - o2.getRank();
|
||||
|
@ -428,12 +428,12 @@ final class CodeAssistAdvancedConfigurationBlock extends OptionsConfigurationBlo
|
|||
styledTextWidget.setEditable(false);
|
||||
styledTextWidget.setCaret(null);
|
||||
styledTextWidget.setBackground(composite.getBackground());
|
||||
styledTextWidget.getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getDescription(AccessibleEvent e) {
|
||||
styledTextWidget.setToolTipText(value);
|
||||
styledTextWidget.getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = value;
|
||||
}
|
||||
});
|
||||
}));
|
||||
return styledTextWidget;
|
||||
}
|
||||
|
||||
|
@ -489,12 +489,11 @@ final class CodeAssistAdvancedConfigurationBlock extends OptionsConfigurationBlo
|
|||
}
|
||||
});
|
||||
|
||||
fDefaultViewer.getControl().getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getName(AccessibleEvent e) {
|
||||
fDefaultViewer.getControl().getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_description;
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
fDefaultViewer.setContentProvider(ArrayContentProvider.getInstance());
|
||||
|
||||
|
@ -598,12 +597,11 @@ final class CodeAssistAdvancedConfigurationBlock extends OptionsConfigurationBlo
|
|||
}
|
||||
});
|
||||
|
||||
fSeparateViewer.getControl().getAccessible().addAccessibleListener(new AccessibleAdapter() {
|
||||
@Override
|
||||
public void getName(AccessibleEvent e) {
|
||||
fSeparateViewer.getControl().getAccessible().addAccessibleListener(AccessibleListener.getNameAdapter(e -> {
|
||||
if (e.childID == ACC.CHILDID_SELF && (e.result == null || e.result.trim().isEmpty())) {
|
||||
e.result = PreferencesMessages.CodeAssistAdvancedConfigurationBlock_separate_table_description;
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
table.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
|
|
Loading…
Add table
Reference in a new issue