diff --git a/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCellJPanel.java b/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCellJPanel.java index d4382cf51..ec5c09181 100644 --- a/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCellJPanel.java +++ b/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCellJPanel.java @@ -193,6 +193,8 @@ public class ContributedLibraryTableCellJPanel extends JPanel { desc += ""; description.setText(desc); + // copy description to accessibility context for screen readers to use + description.getAccessibleContext().setAccessibleDescription(desc); description.setBackground(Color.WHITE); // for modelToView to work, the text area has to be sized. It doesn't diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java index b4537ce94..7a2750a7e 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java @@ -230,6 +230,8 @@ public class ContributedPlatformTableCellJPanel extends JPanel { desc += ""; description.setText(desc); + // copy description to accessibility context for screen readers to use + description.getAccessibleContext().setAccessibleDescription(desc); description.setBackground(Color.WHITE); // for modelToView to work, the text area has to be sized. It doesn't diff --git a/app/src/cc/arduino/contributions/ui/ProgressJProgressBar.java b/app/src/cc/arduino/contributions/ui/ProgressJProgressBar.java index 12b39742f..7c946e499 100644 --- a/app/src/cc/arduino/contributions/ui/ProgressJProgressBar.java +++ b/app/src/cc/arduino/contributions/ui/ProgressJProgressBar.java @@ -38,8 +38,13 @@ public class ProgressJProgressBar extends JProgressBar { public void setValue(Progress p) { setValue((int) p.getProgress()); - if (p.getStatus() != null) + if (p.getStatus() != null) { setString(p.getStatus()); + // copy status to accessibility context for screen readers to use + getAccessibleContext().setAccessibleDescription(p.getStatus()); + // make status focusable so screen readers can get to it + setFocusable(true); + } } }