Features
Everything it does
Seventeen scenes, ten hardware themes, four ways into the radar, a live Weather Radio feed, and a continuous alert watch — all of it keyboard-driven and all of it spoken.
The scenes
Core scenes cycle in the order the era you picked would have used. Every one of them renders twice — once to the screen, once to your screen reader — from the same data.
Always in the loop
- Current Conditions
- The big temperature and icon, plus a readout grid: feels-like, humidity, wind, pressure, visibility and dewpoint.
- Local Forecast
- The National Weather Service narrative forecast, cycling through its periods in large text.
- Local Radar
- An animated radar overlay with storm markers, and the four-lens navigation described below.
- Extended Forecast
- A columnar layout with an icon and a high/low per day. Three, five or seven days depending on which era you are in — the WeatherStar 3000 and 4000 only ever showed three.
- Hourly Forecast
- Up to eight hours, each with time, icon, temperature and precipitation chance.
- Travel Cities
- A three-column table of city, temperature and conditions, walkable with the arrow keys as a grid.
- Almanac
- Sunrise, sunset and day length alongside moon phase and illumination.
- Alerts
- Every active National Weather Service alert for your area, in full, with NOAA attribution.
Opt-in extras
Switched on individually in Settings, so the loop stays as short or as thorough as you want it:
- Detailed Conditions — the full observation, past what fits on the main screen.
- Feels Like — actual and perceived temperature side by side.
- Temperature Trend — readouts plus an hourly bar chart.
- Weekend Forecast — Saturday and Sunday in columns.
- Overnight Forecast — a single hero card for tonight.
- Precipitation Outlook — what is coming and when.
- Storm Tracker — cells near you, tracked over time.
- Airport Delays — live from the FAA National Airspace System status feed.
Radar navigation
Press N to enter Map Navigation. Tab cycles between lenses; the arrow keys walk whatever the current lens holds; Enter reads full detail; Home returns to your location; Esc leaves.
-
Storms
Individual cells detected in the radar frame, each with intensity, distance, bearing and the direction it is tracking. The answer to “is that thing coming here?”
-
Alerts
Active NWS alerts as a navigable list rather than a banner — headline, severity, area, timing, and the full instruction text.
-
Places
Your saved locations, read against the current radar frame. Useful when the weather matters somewhere you are not.
-
Grid Explorer
A cursor you drive across the map yourself. [ and ] change the step between 1, 3, 5, 10 and 25 miles per press, so you can sweep a state or inspect a neighbourhood.
Underneath all four is a single intensity legend shared with the visual renderer. The words you hear and the colours on screen are the same lookup, so they cannot disagree.
Sound
Three buses, one mixer
Music, recorded narration and Weather Radio each run on their own bus through a Web Audio mixer. Music ducks when the narrator speaks. Weather Radio deliberately does not duck — it is carrying live information and talking over it would defeat the point.
- 1 / Shift+1 — music volume up and down, 5% a press.
- 2 / Shift+2 — Weather Radio volume up and down.
- Ctrl+M — mute or unmute music. Ctrl+→ skips a track.
Every press announces the new level, so you are never adjusting blind.
Speech goes to your screen reader
The app ships no text-to-speech of its own. Announcements are written to ARIA live regions and NVDA, JAWS, Narrator, Orca or VoiceOver reads them — in your voice, at your rate, with your punctuation settings, and to your braille display if you use one.
That is a deliberate design rule rather than a shortcut. A built-in voice would mean a second speech system with its own settings to configure, fighting your screen reader for the channel. Announcements are prioritized: a severe alert on the assertive channel interrupts routine narration on the polite one, and Esc always silences whatever is speaking.
The recorded narrator clips are the one exception, and they are exactly what they sound like — the actual broadcast voices, played back, not synthesized.
NOAA Weather Radio
Press 0 to bring in a live transmitter from the weatherUSA network. Choose a call sign in Settings, or leave it blank and the app matches the nearest active transmitter to your home location — matching on city and state, so a Columbus, Ohio home never lands on Columbus, Georgia.
weatherUSA carries contributor-run feeds, not every NWS transmitter, so your own call sign may not be on it; pick the closest metro that is. If a stream drops, the player retries with backoff and tells you when it has given up rather than going quiet.
Accessibility, specifically
These are rules the code is built around, not aspirations in a policy document:
- Never rely on colour alone. Every visually-conveyed state has a semantic counterpart.
- Visual and semantic are siblings. Both render from the same core state; neither summarizes the other.
- One source of truth for radar intensity. Shared by the pixels and the prose.
- Everything is keyboard reachable. There are no mouse-only interactions anywhere in the app.
- Focus is always visible. A bright outline, at all times.
- Speech is interruptible. Esc silences; assertive announcements preempt polite ones.
- High contrast is one attribute away — an overlay that layers on top of any theme rather than a separate theme you have to choose instead.
- Motion respects
prefers-reduced-motion. The LDL and severe-weather crawls freeze when you ask them to.
The display carries role="application", so NVDA stays in focus mode by itself and
you are not toggling browse and focus mode every session.
See it for yourself
Launch Accessible Weather Center (opens in a new window) Read the manual