mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-29 10:24:12 +01:00
Improve accessibility in the Preferences dialog
This commit makes the Preferences dialog more usable by accessibility devices like screen readers. Previously, a screen reader would only read the content of the text boxes. By using JLabel's setLabelFor() feature (and in some extreme cases, setAccessibleName()), a screen reader will know that a label is assigned to a text field. For example, instead of just reading "12", it will now read "Editor font size: 12".
This commit is contained in:
parent
4b374dc16d
commit
9891a6ba21
@ -174,7 +174,8 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
jTabbedPane1.setRequestFocusEnabled(false);
|
jTabbedPane1.setRequestFocusEnabled(false);
|
||||||
|
|
||||||
sketchbookLocationLabel.setText(tr("Sketchbook location:"));
|
sketchbookLocationLabel.setText(tr("Sketchbook location:"));
|
||||||
|
sketchbookLocationLabel.setLabelFor(sketchbookLocationField);
|
||||||
|
|
||||||
sketchbookLocationField.setColumns(40);
|
sketchbookLocationField.setColumns(40);
|
||||||
|
|
||||||
browseButton.setText(I18n.PROMPT_BROWSE);
|
browseButton.setText(I18n.PROMPT_BROWSE);
|
||||||
@ -187,21 +188,28 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
comboLanguageLabel.setText(tr("Editor language: "));
|
comboLanguageLabel.setText(tr("Editor language: "));
|
||||||
|
|
||||||
requiresRestartLabel.setText(tr(" (requires restart of Arduino)"));
|
requiresRestartLabel.setText(tr(" (requires restart of Arduino)"));
|
||||||
|
|
||||||
|
comboLanguage.getAccessibleContext().setAccessibleName("Editor language (requires restart of Arduino)");
|
||||||
|
|
||||||
fontSizeLabel.setText(tr("Editor font size: "));
|
fontSizeLabel.setText(tr("Editor font size: "));
|
||||||
|
fontSizeLabel.setLabelFor(fontSizeField);
|
||||||
|
|
||||||
fontSizeField.setColumns(4);
|
fontSizeField.setColumns(4);
|
||||||
|
|
||||||
showVerboseLabel.setText(tr("Show verbose output during: "));
|
showVerboseLabel.setText(tr("Show verbose output during: "));
|
||||||
|
|
||||||
verboseCompilationBox.setText(tr("compilation "));
|
verboseCompilationBox.setText(tr("compilation "));
|
||||||
|
verboseCompilationBox.getAccessibleContext().setAccessibleName("Show verbose output during compilation");
|
||||||
|
|
||||||
verboseUploadBox.setText(tr("upload"));
|
verboseUploadBox.setText(tr("upload"));
|
||||||
|
verboseUploadBox.getAccessibleContext().setAccessibleName("Show verbose output during upload");
|
||||||
|
|
||||||
comboWarningsLabel.setText(tr("Compiler warnings: "));
|
comboWarningsLabel.setText(tr("Compiler warnings: "));
|
||||||
|
comboWarningsLabel.setLabelFor(comboWarnings);
|
||||||
|
|
||||||
additionalBoardsManagerLabel.setText(tr("Additional Boards Manager URLs: "));
|
additionalBoardsManagerLabel.setText(tr("Additional Boards Manager URLs: "));
|
||||||
additionalBoardsManagerLabel.setToolTipText(tr("Enter a comma separated list of urls"));
|
additionalBoardsManagerLabel.setToolTipText(tr("Enter a comma separated list of urls"));
|
||||||
|
additionalBoardsManagerLabel.setLabelFor(additionalBoardsManagerField);
|
||||||
|
|
||||||
additionalBoardsManagerField.setToolTipText(tr("Enter a comma separated list of urls"));
|
additionalBoardsManagerField.setToolTipText(tr("Enter a comma separated list of urls"));
|
||||||
|
|
||||||
@ -212,6 +220,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
extendedAdditionalUrlFieldWindowActionPerformed(evt);
|
extendedAdditionalUrlFieldWindowActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
extendedAdditionalUrlFieldWindow.getAccessibleContext().setAccessibleName("New Window");
|
||||||
|
|
||||||
morePreferencesLabel.setForeground(Color.GRAY);
|
morePreferencesLabel.setForeground(Color.GRAY);
|
||||||
morePreferencesLabel.setText(tr("More preferences can be edited directly in the file"));
|
morePreferencesLabel.setText(tr("More preferences can be edited directly in the file"));
|
||||||
@ -229,6 +238,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
preferencesFileLabelMouseEntered(evt);
|
preferencesFileLabelMouseEntered(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
preferencesFileLabel.setFocusable(true);
|
||||||
|
|
||||||
arduinoNotRunningLabel.setForeground(Color.GRAY);
|
arduinoNotRunningLabel.setForeground(Color.GRAY);
|
||||||
arduinoNotRunningLabel.setText(tr("(edit only when Arduino is not running)"));
|
arduinoNotRunningLabel.setText(tr("(edit only when Arduino is not running)"));
|
||||||
@ -280,6 +290,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
|
|
||||||
scaleSpinner.setModel(new javax.swing.SpinnerNumberModel(100, 100, 400, 5));
|
scaleSpinner.setModel(new javax.swing.SpinnerNumberModel(100, 100, 400, 5));
|
||||||
scaleSpinner.setEnabled(false);
|
scaleSpinner.setEnabled(false);
|
||||||
|
scaleSpinner.getAccessibleContext().setAccessibleName("Interface scale (requires restart of Arduino)");
|
||||||
|
|
||||||
autoScaleCheckBox.setSelected(true);
|
autoScaleCheckBox.setSelected(true);
|
||||||
autoScaleCheckBox.setText(tr("Automatic"));
|
autoScaleCheckBox.setText(tr("Automatic"));
|
||||||
@ -288,6 +299,7 @@ public class Preferences extends javax.swing.JDialog {
|
|||||||
autoScaleCheckBoxItemStateChanged(evt);
|
autoScaleCheckBoxItemStateChanged(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
autoScaleCheckBox.getAccessibleContext().setAccessibleName("Automatic interface scale (requires restart of Arduino");
|
||||||
|
|
||||||
jLabel3.setText("%");
|
jLabel3.setText("%");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user