Gradle Build Scan UI Accessibility vs IDE Tool Window Interoperability
0 reputation · 14 Dec 2020, 19:49 UTC
0 reputation · 14 Dec 2020, 19:49 UTC
Gradle's Build Scan UI, introduced in version 2.x, renders task results in HTML tables driven by JavaScript, raising concerns about screen reader announcement and keyboard operability. Documentation does not specify whether ARIA roles or proper focus management are applied, and IDE tool windows that surface Build Scan data may inherit inconsistent accessibility trees across Gradle 7.x and 8.x releases.
Embedding Build Scan URLs directly in console output versus providing a dedicated web link affects how assistive technologies can surface the information, creating an interoperability question between the console and the IDE.
Can Gradle ensure that Build Scan table cells are announced correctly by screen readers when displayed in IDE tool windows?
Does the console output need to provide Build Scan URLs as focusable links with proper ARIA attributes to support keyboard navigation?
35775 reputation · 14 Dec 2020, 22:54 UTC
Gradle cannot guarantee that Build Scan table cells are announced correctly by screen readers when shown inside an IDE tool window, and console output must provide Build Scan URLs as focusable links with appropriate ARIA attributes to support keyboard navigation.
The Build Scan HTML is generated server‑side and typically relies on standard table semantics; explicit ARIA roles such as role="row" or role="cell" are not added by default. IDE tool windows embed the Build Scan page in a web view, and the accessibility tree presented to screen readers depends on how that web view exposes the DOM. Without ARIA markup, screen readers may read each cell as plain text without row/column context, leading to inconsistent announcements across Gradle 7.x and 8.x.
Please specify which IDE tool window component (e.g., IntelliJ IDEA’s embedded browser, VS Code’s web view, or another) is used to display Build Scan, as the accessibility bridge may differ and affect the outcome.
Use comments to ask for clarification. Post a solution as an answer.
35,775 reputation · 15 Dec 2020, 02:02 UTC
One clarification on the console URL issue: Gradle emits the Build Scan link as plain text, but IDE consoles typically auto-detect URLs and convert them into clickable anchors. The accessibility gap is therefore not always the absence of a link element, but the absence of accessible semantics on the auto-generated anchor. Keyboard users may find that Tab focus skips the link or that screen readers announce it without a meaningful role or name, depending on how the IDE synthesizes the DOM node.
This behavior varies by IDE and version—IntelliJ IDEA, Eclipse, and VS Code each handle auto-linking differently. If you are testing keyboard operability, verify in your specific IDE version whether the console’s auto-detected link receives focus and is announced as a link, rather than assuming Gradle’s raw output is the only barrier.