a11y: aria-live=polite on clipStatus + chatViewer/eventsViewer status
Three more user-triggered status messages that updated silently for screen-reader users: - clipStatus — clip download progress/result text below the URL input on the Clips tab - eventsViewerStatus — loading/error message inside the events viewer modal - chatViewerStatus — loading/error message + filter result count inside the chat viewer modal All three get role="status" + aria-live="polite". Same reasoning as 4.6.153/154 — the user explicitly clicks a button or opens a modal, then the result fills in asynchronously. Without aria-live the announcement was lost. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
86d68466f9
commit
70643b4c08
@ -118,7 +118,7 @@
|
|||||||
<div class="modal viewer-modal viewer-modal-events">
|
<div class="modal viewer-modal viewer-modal-events">
|
||||||
<button type="button" class="modal-close modal-close-localizable" aria-label="Close" onclick="closeEventsViewer()">x</button>
|
<button type="button" class="modal-close modal-close-localizable" aria-label="Close" onclick="closeEventsViewer()">x</button>
|
||||||
<h2 id="eventsViewerTitle" class="viewer-modal-title"></h2>
|
<h2 id="eventsViewerTitle" class="viewer-modal-title"></h2>
|
||||||
<div id="eventsViewerStatus" class="viewer-modal-status"></div>
|
<div id="eventsViewerStatus" class="viewer-modal-status" role="status" aria-live="polite"></div>
|
||||||
<div id="eventsViewerList" class="viewer-modal-list"></div>
|
<div id="eventsViewerList" class="viewer-modal-list"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -130,7 +130,7 @@
|
|||||||
<h2 id="chatViewerTitle" class="viewer-modal-title"></h2>
|
<h2 id="chatViewerTitle" class="viewer-modal-title"></h2>
|
||||||
<div class="viewer-modal-filter-row">
|
<div class="viewer-modal-filter-row">
|
||||||
<input type="text" id="chatViewerFilter" class="viewer-modal-filter-input" placeholder="Filter..." oninput="onChatViewerFilterChange()">
|
<input type="text" id="chatViewerFilter" class="viewer-modal-filter-input" placeholder="Filter..." oninput="onChatViewerFilterChange()">
|
||||||
<span id="chatViewerStatus" class="viewer-modal-status viewer-modal-status-inline"></span>
|
<span id="chatViewerStatus" class="viewer-modal-status viewer-modal-status-inline" role="status" aria-live="polite"></span>
|
||||||
</div>
|
</div>
|
||||||
<div id="chatViewerList" class="viewer-modal-list viewer-modal-list-chat"></div>
|
<div id="chatViewerList" class="viewer-modal-list viewer-modal-list-chat"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -301,7 +301,7 @@
|
|||||||
<h2 id="clipsHeading">Twitch Clip-Download</h2>
|
<h2 id="clipsHeading">Twitch Clip-Download</h2>
|
||||||
<input type="text" id="clipUrl" placeholder="https://clips.twitch.tv/... oder https://www.twitch.tv/.../clip/...">
|
<input type="text" id="clipUrl" placeholder="https://clips.twitch.tv/... oder https://www.twitch.tv/.../clip/...">
|
||||||
<button type="button" class="btn-primary" onclick="downloadClip()" id="btnClip">Clip herunterladen</button>
|
<button type="button" class="btn-primary" onclick="downloadClip()" id="btnClip">Clip herunterladen</button>
|
||||||
<div class="clip-status" id="clipStatus"></div>
|
<div class="clip-status" id="clipStatus" role="status" aria-live="polite"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="settings-card centered">
|
<div class="settings-card centered">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user