Premium support for our pure JavaScript UI components


Post by anshika.chakrawarty »

Hi,

We're using a Bryntum TreeGrid where many cells are conditionally read-only based on business rules. For example, a cell might be non-editable because:

The row's values are calculated (derived from child records)
A parent row has a hours multiplier > 1, making child hour cells read-only
The cell is a roll-up/aggregate displaying summed values from children
The grid is in a monthly view where individual cell editing is not applicable
We control editability via the column's isCellReadOnly(record) method, which Bryntum respects — clicking or tabbing into these cells correctly does not open an editor. However, screen readers have no way to know that a cell is read-only. When a keyboard user navigates to a non-editable cell, there is no audible indication that the cell cannot be edited, which is confusing and a WCAG compliance gap.

What we expected:

When a cell is non-editable (either because the column is read-only or isCellReadOnly returns true), we'd expect Bryntum to set aria-readonly="true" on the cell element so that assistive technology announces something like "read-only" when the cell receives focus.

What actually happens:

No aria-readonly or aria-disabled attribute is set on non-editable cells. The cell appears identical to an editable cell from a screen reader's perspective — the user only discovers it's read-only when they attempt to edit and nothing happens.

Our question:

Is there a supported way to have Bryntum automatically apply aria-readonly="true" to cells where isCellReadOnly returns true or where the column/editor is disabled?
If not built-in, is there a recommended hook (e.g., a cell renderer or afterRenderCell event) where we can safely set aria-readonly on the cell element without conflicting with Bryntum's internal ARIA management?
Are there any planned accessibility improvements to announce read-only cell state to assistive technology?


Post by tasnim »

Thanks for your report. We'll investigate it. Here is the ticket to track progress https://github.com/bryntum/support/issues/12948

Best regards,
Tasnim

How to ask for help? Please read our Support Policy


Post Reply