Skip to content

[Accessibility] Screen-reader spot list announcements + semantic table markup #1001

@accius

Description

@accius

Sub-issue of #997 (accessibility umbrella).

Problem

The DX Cluster, POTA, SOTA, WWFF, and PSK Reporter spot lists are built from <div> grids today. Screen readers can read them, but row/column relationships aren't communicated — a user can't ask the reader to "next column" or "this row's frequency" the way they could with a real <table>.

Additionally, frequencies are rendered as plain numbers (e.g. "14.074") which most screen readers will pronounce as "fourteen point zero seven four" — usable, but not the natural ham announcement "fourteen point zero seven four megahertz" that gives context immediately.

What we want

  1. Convert the spot grids to semantic tables (<table>, <thead>, <tbody>, <tr>, <th>, <td>) with scope attributes on headers. Keep the same CSS grid look — just under semantic markup.
  2. Add a hidden <span class="visually-hidden"> after each frequency that says "megahertz" so screen readers get the unit, while sighted users see just the number.
  3. Same for age ("3 m ago" → screen reader hears "3 minutes ago" via aria-label or visually-hidden span).

Scope

Affects DXClusterPanel, ActivatePanel (covers POTA/SOTA/WWFF), and PSKReporterPanel. Be careful not to regress the visual density work done in #995.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions