mirror of
https://github.com/affaan-m/ECC.git
synced 2026-09-30 05:25:08 +02:00
The control-plane view polls every few seconds and rewrites the canvas aria-label with the new counts, but neither the canvas nor #status is a live region, so a screen-reader user working elsewhere never hears an advisory appear. Add a visually hidden polite live region that speaks only when the advisory and steering counts actually move. Re-announcing an unchanged summary every five seconds would talk over the operator without saying anything new, so the last announced pair is remembered and a no-change poll writes nothing. The canvas keeps its own label as the on-demand description. Also give the runtime test a recording canvas context and a populated view, so the rendered risk words, the marker shapes, and the live region are asserted at runtime rather than only against template source. The risk-level assertion now reads the rendered risk cells instead of the whole panel, where a level word could be satisfied by a task id. The populated assertions were mutation checked: collapsing the marker shapes, dropping the risk words, freezing the canvas label, announcing on every poll, emptying the live region, and removing the steering cue each fail at least one assertion. Fixes the no-regex-spaces lint error on the riskColor match, which used two literal spaces in a row. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>