a11y: aria-live=polite on 3 more refresh-result status messages
Following the cleanupReport fix in 4.6.153, three more user-triggered refresh result strings were updating silently:
- statsLastScannedLabel — "Letzter Scan: <timestamp>" / "Scanne..." in the Archive-Statistik header after clicking Aktualisieren
- archiveSearchSummary — "{matchCount} matches (scanned {scanned}…)" / "Scanne..." after clicking Suchen
- storageSummary — "Total: {files} files, {size} — Free disk: {free}" / "Scanne..." after clicking Aktualisieren on the Storage card
All three are textContent updates triggered by an explicit user action that finishes asynchronously. Without aria-live, screen reader users hear nothing after pressing the action button — the result text fills in off-screen.
Added role="status" + aria-live="polite" to all three. "polite" because the result isn't urgent — the user requested it and waiting for a natural break in speech is fine.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2d109077a0
commit
ae156ff395
@ -422,7 +422,7 @@
|
|||||||
<div class="form-row section-header">
|
<div class="form-row section-header">
|
||||||
<h3 id="statsTitle">Archiv-Statistik</h3>
|
<h3 id="statsTitle">Archiv-Statistik</h3>
|
||||||
<div class="section-header-actions">
|
<div class="section-header-actions">
|
||||||
<span id="statsLastScannedLabel" class="form-sublabel"></span>
|
<span id="statsLastScannedLabel" class="form-sublabel" role="status" aria-live="polite"></span>
|
||||||
<button type="button" class="btn-secondary" id="btnStatsRefresh" onclick="refreshArchiveStats()">Aktualisieren</button>
|
<button type="button" class="btn-secondary" id="btnStatsRefresh" onclick="refreshArchiveStats()">Aktualisieren</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -474,7 +474,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<button type="button" class="btn-secondary" id="btnArchiveSearch" onclick="performArchiveSearch()">Suchen</button>
|
<button type="button" class="btn-secondary" id="btnArchiveSearch" onclick="performArchiveSearch()">Suchen</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="archiveSearchSummary" class="form-sublabel"></div>
|
<div id="archiveSearchSummary" class="form-sublabel" role="status" aria-live="polite"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-card">
|
<div class="settings-card">
|
||||||
<div id="archiveSearchResults"></div>
|
<div id="archiveSearchResults"></div>
|
||||||
@ -695,7 +695,7 @@
|
|||||||
<button type="button" class="btn-secondary" id="btnRefreshStorage" onclick="refreshStorageStats()">Aktualisieren</button>
|
<button type="button" class="btn-secondary" id="btnRefreshStorage" onclick="refreshStorageStats()">Aktualisieren</button>
|
||||||
</div>
|
</div>
|
||||||
<p id="storageCardIntro" class="card-intro">Disk-Verbrauch pro Streamer im aktuellen Download-Ordner. Live-Aufnahmen werden separat ausgewiesen.</p>
|
<p id="storageCardIntro" class="card-intro">Disk-Verbrauch pro Streamer im aktuellen Download-Ordner. Live-Aufnahmen werden separat ausgewiesen.</p>
|
||||||
<div id="storageSummary" class="form-sublabel" style="margin-bottom:8px;"></div>
|
<div id="storageSummary" class="form-sublabel" style="margin-bottom:8px;" role="status" aria-live="polite"></div>
|
||||||
<div id="storageList"></div>
|
<div id="storageList"></div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user