Skip to content

fix(frontend): dashboard charts have no text alternative and layers differ only by shade #744

Closed

Description

@cristim

Summary

The dashboard chart canvases have fixed aria-labels and no text or table alternative, and the "Potential savings range" layers differ only by shade of one hue.

Where

Reviewed commit b50ca38.

  • frontend/src/index.html:113, 118, 230 (<canvas role="img"> with fixed labels)
  • frontend/src/dashboard.ts:909-919 ("Current", "Lowest option" and "Upside" are one hue at different alphas)

Failure scenario

A screen-reader user hears a static label and cannot read any value from the chart. A colour-blind or low-vision user cannot reliably tell the three layers apart. Verification level: subagent/source-level.

User impact

The savings charts, a headline feature of Home and Plans, are unusable without vision and hard to read with colour-vision deficiency.

Suggested fix

Add a "View as table" toggle or a visually hidden table per chart, a dynamic aria-label with key totals, and pattern or border differentiation between layers.

Related: #188 (sparse-data empty state, narrower), #189 (legend and bar-colour encoding mismatch, narrower), #700 (per-service chart colours).

Screenshots

home-full-1280.png (in the review fleet archive at /Users/cristi/.claude/agent-comms/review-fleet-20261008/screens/, NOT uploaded).

Severity

Medium: key data is inaccessible to assistive technology users.

Reviewer ID: UX-22 (usab M15)
Found by the 2026-10-08 review fleet.

Activity

  1. IAmJSD commented on Oct 24, 2026

    @IAmJSD
    Collaborator

    Claiming: working on this

  2. self-assigned this
    on Oct 24, 2026
  3. IAmJSD commented on Oct 26, 2026

    @IAmJSD
    Collaborator

    Closing as fixed on main. #1381 added data-driven aria-labels and a 'View as table' disclosure for the Home and Purchases savings charts, plus 2px layer gaps. #1335 (merged) colored the per-service layers by distinct hues (base.css --cudly-chart-layer-current #2a78d6, -lowest #eb6834, -upside #1baf7a). That covers the 'differ only by shade' half the PR left to #189.

    The fix PRs said Refs, so GitHub did not close this automatically. Checked against main on 2026-10-26 by IAmJSD's agent (IAmJSD is acting owner while the maintainers are away). Reopen if anything here is still wrong.

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions