jGRASP Accessibility

Current and Future WCAG Compliance

The core functionality of jGRASP 2.1.0 Beta 4 and higher is WCAG 2.1 Level AA compliant. We plan to make all of jGRASP compliant by the end of March, 2026.

Some advanced visualizations have these deficiencies: mouse-only selection of some elements, missing alternate text for some elements, color-only supplemental information for some elements.

We will continue to improve accessibility after compliance is achieved, in ways specified by the WCAG and in other ways.

Current Accessibility Documentation

The most recent VPAT (section 508) for jGRASP 2.1.0 is available here: VPAT (pdf).

The most recent VPAT (section 508) for jGRASP 2.0.6 is available here: VPAT (pdf).

Notable Accessiblity Features

If you find a problem with any accessibility features of jGRASP or with the content of the jgrasp.org website, please let us know.


UI Scaling

The entire interface - fonts, icons, and much of the spacing - is globally scalable. The global scale can be accessed through "Settings" > "Font", through the key combinations Ctrl/Cmd-plus, Ctrl/Cmd-minus, Ctrl/Cmd-zero, or by holding down Ctrl or Cmd and Shift while scrolling the mouse wheel.

Individual editing, message, and many visualization windows can be scaled separately using "Settings" > "CSD Window Settings" > "Workspace", "Project", or "File" > "Font" or "Font Size", through the key combinations Ctrl/Cmd-Shift-plus, Ctrl/Cmd-Shift-minus, Ctrl/Cmd-Shift-zero, or by holding down Ctrl or Cmd and while scrolling the mouse wheel.

Toolbar icons can be scaled separately using "View" > "Toolbar Icon Size".


Colors and Contrast

The Look&Feel can be selected through "Settings" > "Look And Feel / Theme". A high contrast dark theme and dark themes with augmented focus visibility are available. This and editing window colors can be set using "Settings" > "Colors".


Assistive Technologies

The ui of the jGRASP IDE is implemented mainly in Java Swing. The Swing ui components implement appropriate parts of the Java Accessibility API. The jGRASP custom editing component (CSD Window) also implements relevant portions of this API. This allows source code text, the text of other ui components, and alternate text for graphical components to be available to assistive technologies. jGRASP produces several source code and runtime visualizations. For some of these visualizations, no useful text representations are available at this time.

On Windows, assistive technologies communicate with the Java Accessibility API through the Java Access Bridge, which is included with Java but not enabled by default. Numerous screen readers and other assistive technology tools support the Java Access Bridge.

On macOS, Java Accessibility API communication access is built-in. The VoiceOver screen reader included with macOS and other macOS compatible screen readers work with jGRASP.

On Linux, Java Accessibility API communication access is built-in to most popular desktop environments, and accessibility tools are included with most distributions.


Other Accessibility Settings

jGRASP 2.1.0 uses F6 and Shift-F6 for block keyboard navigation. This will cycle through main sections of the UI, and enables faster keyboard navigation than Tab navigation alone.

In jGRASP 2.1.0, turning on "Settings" > "Desktop" > "Navigation Information Label" will enable a message bar that shows important keyboard navigation key combinations for the component that has keyboard focus. If you are a keyboard-only user or heavily use keyboard navigation, we suggest turning this on until you are familiar with the keyboard navigation.

In jGRASP 2.1.0, turning on "Settings" > "Desktop" > "Focus Indicator Popup" will cause a small popup to display briefly at the location of the component with keyboard focus, whenever keyboard focus changes. This can help to identify the focused component, especially if you are using a Look&Feel with subtle focus indications.

Tooltips can be made persistent using "Settings" > "Desktop" > "Persistent Tooltips".

Flashing cursors can be turned off globally using "Settings" > "Desktop" > "Blinking Cursors".


Website and Help Files

The jgrasp.org website conforms to level AA of the Web Content Accessibility Guidelines 2.2.

The HTML help files for jGRASP conform to level AA of the Web Content Accessibility Guidelines 2.2.