Repository navigation
fix(a11y): name table header menus and profile links from their visible text - #699
Merged
Merged
Conversation
…le text axe-core 4.14 (#698) enforces label-content-name-mismatch (WCAG 2.5.3), which the accessibility smoke gate now fails on: - The column header menu trigger's aria-label "Column options" replaced the visible column name. It is now named from its content, with "Column options" as screen-reader-only text after the label. - Profile links named "Profile of <name>" also showed the avatar initials; the avatar is now aria-hidden. Report views the scan reaches on release/v1.2 use the same shared code: - Report content and virtualized table bodies can now take focus, so keyboard users can scroll content with nothing else to focus. - In the Accessible Dark theme, text-destructive and text-success get lighter shades that meet 4.5:1 on every surface; fills are unchanged.
Contributor
Author
|
🎉 This PR is included in version 1.1.9 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
mongkhonthamPEG
pushed a commit
to mongkhonthamPEG/testplanit
that referenced
this pull request
Oct 17, 2026
## [1.1.9](TestPlanIt/testplanit@v1.1.8...v1.1.9) (2026-10-16) ### Bug Fixes * **a11y:** name table header menus and profile links from their visible text ([TestPlanIt#699](TestPlanIt#699)) ([bbda532](TestPlanIt@bbda532)), closes [TestPlanIt#698](TestPlanIt#698) * **deps:** resolve 18 of 21 open Dependabot alerts ([TestPlanIt#698](TestPlanIt#698)) ([a70654f](TestPlanIt@a70654f))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The accessibility smoke gate fails on main since #698 moved
@axe-core/playwrightfrom 4.13 to 4.14. axe-core 4.14 no longer markslabel-content-name-mismatch(WCAG 2.5.3 Label in Name) as experimental, so the gate now checks it on every page:DataTable,VirtualizedTableEngine): itsaria-label="Column options"replaced the visible column name. The trigger is now named from its content, with "Column options" as screen-reader-only text after the label, so the accessible name reads "Name … Column options".UserNameCell,UserMention): the link'saria-label("Profile of …") didn't include the avatar initials shown inside it. The link is now named from its content, with "Profile of " as screen-reader-only text and the avatararia-hidden, so the accessible name is unchanged.A run on
release/v1.2also reached report views that main's scan doesn't open by default. This PR fixes the shared code those views use:rowgroup, which is a valid child of the table role.--destructiveand--successare tuned for white text on a filled background and fall to 3.1:1 and 3.5:1 when used as text on the page. In that theme only,.text-destructiveand.text-successnow get lighter shades (≥4.6:1 on every surface, including hovered rows); fills are unchanged.Related Issue
None. Found by the a11y smoke run on
release/v1.2and confirmed on main.Type of Change
How Has This Been Tested?
release/v1.2branch.aria-label. The requirements list test compares visible header labels.sorting.spec.tschecks that the accessible name puts the column label before "Column options"; its role-based selectors still match.Checklist
Additional Notes
The same changes are going to
release/v1.2.