You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Stop the Renders page from rebuilding and re-announcing itself every 12s #47
/renders.html calls refresh() on a setInterval every 12 seconds (public/renders.html:345). Each call:
rebuilds the whole grid with grid.replaceChildren() (lines 291 and 311), even when nothing changed. If keyboard focus is on a card's "Preview", "Prompt" or "Retry" button, that element is destroyed and focus drops to <body>.
re-announces the whole grid, because the grid is aria-live="polite" (line 99). With the UI starter's empty job list, screen reader users hear "No finished videos yet…" plus three links every 12 seconds.
toggles the Refresh button to disabled / "Refreshing…" and back.
keeps polling in background tabs.
Fix direction: compare the new job list (ids plus status) with latestJobs and skip paintJobs() when it is unchanged. Remove aria-live from the grid. Announce only changes, such as "1 render finished", through the existing #toast status region. Leave the button alone during background refreshes. Pause the interval on document.hidden and refresh once on return.
Done when idle polling causes no DOM changes or announcements, focus survives a refresh, the manual Refresh button still works, and real status changes are announced once.
Activity