fix(a11y): Use descriptive labels for bookmark colour buttons #1510
+14
−5
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.
Fix: Accessibility Labels for Bookmark Colors
Description
Addresses an accessibility issue where CSS class names (e.g.,
red,blue) were being used asaria-labelattributes for bookmark color buttons. This resulted in confusing or non-descriptive announcements for screen reader users.Why this matters
Prior to this fix, assistive technologies would simply announce the technical class name (e.g., "blue") rather than a descriptive label. This created ambiguity—it wasn't clear if "blue" referred to a status, a style, or an action.
Changes
labelproperty (e.g., "Red", "Blue") to thebookmarkColorsconfiguration insrc/plugins/bookmarks/ia-bookmarks.js.src/plugins/bookmarks/bookmark-edit.jsto use the newlabelfortitleattributes.<span>(using.sr-only) containing the label to provide robust accessible text for the radio inputs.sharedStylesto ensure the.sr-onlyclass is available.src/plugins/bookmarks/bookmarks-list.jsto use the descriptivelabelin thearia-labelattribute of the bookmark buttons.tests/jest/plugins/bookmarks/bookmark-edit.test.jsto reflect the new data structure.Screenshot
Checklist
npm test)npm run lint)