Sub-issue of #997 (accessibility umbrella).
Problem
Screen-reader users miss status changes that sighted users notice visually — band changes in WSJT-X, new DX spots arriving, satellite pass beginning/ending, lightning proximity alerts, WSJT-X relay connect/disconnect, Cloud Relay state changes, etc. Without aria-live regions, these updates pass silently.
What we want
Identify the meaningful status-change events and wrap their announcements in appropriately-prioritised aria-live regions:
aria-live="polite" — non-urgent: new spots arrived, satellite pass in 10 min, weather refresh
aria-live="assertive" — urgent: lightning within proximity radius, severe weather alert, relay disconnected mid-session
role="status" / role="alert" — semantic roles where they fit better
Be careful with frequency: a live region that announces every single new DX spot would be unbearable. Better to debounce ("3 new spots in the last minute, ZL2ABC the newest") or only announce notable transitions.
Scope
A short audit of status indicators in OHC, paired with a small set of debounced live-region wrappers in the appropriate components. Probably touches: WSJT-X integration, DX Cluster panel, Satellite predictions, Lightning layer, Weather alerts.
Tester wanted
If you use a screen reader, your feedback on cadence (too chatty vs. too quiet) would be invaluable.
Sub-issue of #997 (accessibility umbrella).
Problem
Screen-reader users miss status changes that sighted users notice visually — band changes in WSJT-X, new DX spots arriving, satellite pass beginning/ending, lightning proximity alerts, WSJT-X relay connect/disconnect, Cloud Relay state changes, etc. Without aria-live regions, these updates pass silently.
What we want
Identify the meaningful status-change events and wrap their announcements in appropriately-prioritised
aria-liveregions:aria-live="polite"— non-urgent: new spots arrived, satellite pass in 10 min, weather refresharia-live="assertive"— urgent: lightning within proximity radius, severe weather alert, relay disconnected mid-sessionrole="status"/role="alert"— semantic roles where they fit betterBe careful with frequency: a live region that announces every single new DX spot would be unbearable. Better to debounce ("3 new spots in the last minute, ZL2ABC the newest") or only announce notable transitions.
Scope
A short audit of status indicators in OHC, paired with a small set of debounced live-region wrappers in the appropriate components. Probably touches: WSJT-X integration, DX Cluster panel, Satellite predictions, Lightning layer, Weather alerts.
Tester wanted
If you use a screen reader, your feedback on cadence (too chatty vs. too quiet) would be invaluable.