Skip to content

[Feature] Icon-only buttons for Save and Download in code viewer are unclear to new users #886

@rachel-d-07

Description

@rachel-d-07

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

  1. 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.

  2. Keeping icon-only with aria-label only - rejected because aria-label only helps screen reader users. Sighted new users still face the same confusion.

  3. 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
Image

AFTER
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions