Problem Statement
The code viewer component displays two action buttons at the bottom — a star icon and a download icon — with no text labels. New users cannot tell what these buttons do at a glance. The star icon could mean "like", "rate", or "save to favourites", and the download icon has no indication of what format or file will be downloaded. There is also no tooltip on hover and no aria-label, making the buttons inaccessible to screen reader users.
What problem does this feature solve?
Proposed Solution
Replace the icon-only buttons with labeled buttons that show both the icon and a short text label:
- Star icon → "Save" (with amber-colored star icon)
- Download icon → "Download" (with indigo-colored download icon)
This makes the action immediately clear without requiring any prior knowledge of the UI. The buttons should also have aria-label attributes added for screen reader accessibility:
- aria-label="Save to favourites"
- aria-label="Download code"
Files to update: the code viewer component that renders the bottom action bar.
Describe your preferred solution.
Alternatives Considered
-
Tooltip on hover only - rejected because tooltips require the user to hover first, which means new users still won't understand the buttons on first glance. Tooltips also don't work on touch/mobile devices.
-
Keeping icon-only with aria-label only - rejected because aria-label only helps screen reader users. Sighted new users still face the same confusion.
-
Full redesign of the action bar - rejected as out of scope. The fix only requires adding text labels to two existing buttons, no layout changes needed.
List other ideas if any.
Additional Context
This follows standard UX best practices - icon-only buttons should only be used when the icon is universally understood (e.g. a close X button). Actions like "save" and "download" benefit from explicit labels, especially for first-time users.
Reference: Nielsen Norman Group - Icon Usability (https://www.nngroup.com/articles/icon-usability/)
Add examples, links, or mockups if helpful.
BEFORE

AFTER

Problem Statement
The code viewer component displays two action buttons at the bottom — a star icon and a download icon — with no text labels. New users cannot tell what these buttons do at a glance. The star icon could mean "like", "rate", or "save to favourites", and the download icon has no indication of what format or file will be downloaded. There is also no tooltip on hover and no aria-label, making the buttons inaccessible to screen reader users.
What problem does this feature solve?
Proposed Solution
Replace the icon-only buttons with labeled buttons that show both the icon and a short text label:
This makes the action immediately clear without requiring any prior knowledge of the UI. The buttons should also have aria-label attributes added for screen reader accessibility:
Files to update: the code viewer component that renders the bottom action bar.
Describe your preferred solution.
Alternatives Considered
Tooltip on hover only - rejected because tooltips require the user to hover first, which means new users still won't understand the buttons on first glance. Tooltips also don't work on touch/mobile devices.
Keeping icon-only with aria-label only - rejected because aria-label only helps screen reader users. Sighted new users still face the same confusion.
Full redesign of the action bar - rejected as out of scope. The fix only requires adding text labels to two existing buttons, no layout changes needed.
List other ideas if any.
Additional Context
This follows standard UX best practices - icon-only buttons should only be used when the icon is universally understood (e.g. a close X button). Actions like "save" and "download" benefit from explicit labels, especially for first-time users.
Reference: Nielsen Norman Group - Icon Usability (https://www.nngroup.com/articles/icon-usability/)
Add examples, links, or mockups if helpful.
BEFORE

AFTER
