The screen reader said "Saved" twice after one save. The state behind it has a single transition into saved, and the reducer test shows it.
What changed twice was the DOM. The status component renders the region only when there's a message, roughly message && <p aria-live="polite">{message}</p>, so going from no message to Saved inserts a brand new live region with the text already inside. MDN's guidance is the opposite. Start with an empty region, give it time to be exposed to assistive technology, then update its content, and it adds that behavior varies across browser and screen reader combinations. A region that appears holding its text is the case it warns about, and in my setup it came out as a double read.
So the union was right and the announcement was wrong, and nothing in the type could have said so. The type describes what the status is. Whether the region node survives a re-render is a fact about the DOM, and that's where the fix goes. Render the region once, keep it mounted, change only the text inside.
