Accessibility issue: Focusable grid body element missing consistent ARIA role (tabindex="0" without role) #16379
Replies: 4 comments 4 replies
-
|
Hi @mehmetardin, I have been looking into your question, and I can see the mentioned error, as well as the same for the “igx-grid-header-row” and some elements of the footer. You are observing those as well, aren’t you? What I can say is that these could generally be qualified as a false positives by the automated tool in the context of a complex widget as the grid. Both the grid body and header row elements receive focus, which is programmatically delegated to a cell or column header. So, these semantic elements to which the focus is delegated are what is communicated to a screen reader user, also what is observed as the currently interactive/focused element by regular (or keyboard) users. For your particular question, the related elements are currently rendered like:
This would definitely qualify as a false positive, since this is the design of the grid, where the structure of the data is displayed, while there are no records. No need to render any empty cells here.
In conclusion, while it is possible that the team addresses some of these a11y errors by altering the roles to fit in these scenarios, I wouldn’t be convinced this is absolutely necessary and would contribute to anything other than resolving these errors. Still, if you have any further considerations on the matter, please do share them and in that case we could proceed with logging this to be addressed in the library. |
Beta Was this translation helpful? Give feedback.
-
|
@mehmetardin, Thank you for following up! Indeed, the tool would error with this in case the header row or the grid body have an active (focused) cell. This is inherent to the grid implementation, where as mentioned in my previous reply, both the grid body and header row elements receive focus, which is programmatically delegated to a cell or column header. The Having said this, I have tested applying some alternative roles, however, trying to appease those automated accessibility validators seems to inflict a cause-effect chain, where yet another error would be thrown each time. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @mehmetardin, |
Beta Was this translation helpful? Give feedback.
-
|
Hi @mehmetardin, Could you please specify which version of Ignite UI for Angular is your app targeting in this case? Recording.2025-11-04.173720.mp4 |
Beta Was this translation helpful? Give feedback.




Uh oh!
There was an error while loading. Please reload this page.
-
I have a question regarding an accessibility issue in the Grid component, identified using the ARC Toolkit.
Description:
A focusable
[attr.role]="dataView.length ? null : 'row'"
removes the role attribute, leaving a focusable element without a defined purpose for assistive technologies.
Accessibility Warning (ARC Toolkit):
The element has been placed in the tab order using tabindex="0", but it lacks a specific role="..." attribute.
Reference:
grid.component.html – line 34
Could you please confirm whether this is the intended behavior or if the grid body should consistently include a semantic role (e.g., role="rowgroup") to comply with ARIA grid accessibility guidelines?
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions