Skip to content

Conversation

@spike-rabbit
Copy link
Member

What kind of change does this PR introduce? (check one with "x")

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
The position-top summary row is lacking the role="row".
The role="row" is defined multiple times in the body template.

What is the new behavior?
Every row has role="row" and it is only defined once on the respective component.

Does this PR introduce a breaking change? (check one with "x")

  • Yes
  • No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...

Other information:
Solves the a11y issue here: siemens/element#301

Moves the definition of role and tabindex to the `datatable-body-row`.
This ensures `role="row"` is always present on the summary-row.
Previously, the role="row" was missing on summary rows with position top.
@spike-rabbit spike-rabbit requested a review from a team as a code owner November 24, 2025 16:00
@gemini-code-assist
Copy link

Summary of Changes

Hello @spike-rabbit, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves an accessibility bug within the ngx-datatable component by ensuring that all table rows, including the summary row, correctly expose their role as "row" to assistive technologies. The change centralizes the definition of role="row" and tabindex="-1" attributes to the body-row.component.ts host bindings, making the attribute application more robust, consistent, and easier to manage across the component's various row types.

Highlights

  • Accessibility Fix for Summary Row: Ensures that the summary row in the datatable always has the role="row" attribute applied, addressing a previous accessibility issue where it was sometimes missing.
  • Centralized role and tabindex Attributes: Refactors the application of role="row" and tabindex="-1" attributes by moving them from individual template usages to the host binding of the datatable-body-row component. This ensures these attributes are consistently applied to all rows and defined only once, improving maintainability and preventing redundancy.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively resolves an accessibility issue by ensuring all data table rows, including summary rows, consistently have the role="row" attribute. The implementation is clean and improves maintainability by centralizing the role and tabindex attributes within the DataTableBodyRowComponent. This refactoring correctly removes redundant declarations from the templates. The changes are well-executed and I have no further suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants