Twitch-VOD-Manager/src
xRangerDE 6946c34395 a11y: 14 more labels linked to their inputs via for=
Continuing the label-for pass from 4.6.79 + 4.6.83. The Settings tab, Twitch-API card, Discord card, Clips template guide, and the main cutter time-input row all had label elements sitting right next to their inputs/selects with no programmatic for=/id pairing — screen readers couldn't announce the label on focus, and clicking the label text didn't focus the control.

Fixed labels (label-id → target-input-id):
- themeLabel → themeSelect
- clientIdLabel → clientId
- clientSecretLabel → clientSecret
- storageLabel → downloadPath
- modeLabel → downloadMode
- partMinutesLabel → partMinutes
- parallelDownloadsLabel → parallelDownloads
- streamlinkQualityLabel → streamlinkQuality
- performanceModeLabel → performanceMode
- metadataCacheMinutesLabel → metadataCacheMinutes
- discordWebhookUrlLabel → discordWebhookUrl
- templateGuideTemplateLabel → templateGuideInput
- cutterStartLabel → startTime
- cutterEndLabel → endTime

Together with the prior passes (clip-cutter modal labels in 4.6.79, filename-template labels in 4.6.83), every plain label-above-input pair in static HTML now uses for=. Remaining unattached labels (languageLabel, vodHideDownloadedLabel) are intentional — the first targets a custom button-pair language picker, the second wraps its own checkbox via .inline-toggle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 06:43:01 +02:00
..
index.html a11y: 14 more labels linked to their inputs via for= 2026-05-11 06:43:01 +02:00
main.ts observability: auto-updater lifecycle events go through appendDebugLog, not console.log 2026-05-11 06:21:35 +02:00
preload.ts perf: trim live-status batch IPC payload + skip empty broadcasts 2026-05-11 02:33:09 +02:00
renderer-archive.ts cleanup: archive search results — extract 10 inline styles into row classes 2026-05-11 04:45:38 +02:00
renderer-globals.d.ts perf: trim live-status batch IPC payload + skip empty broadcasts 2026-05-11 02:33:09 +02:00
renderer-locale-de.ts a11y: aria-label on the 3 icon-only buttons in the main shell 2026-05-11 06:37:26 +02:00
renderer-locale-en.ts a11y: aria-label on the 3 icon-only buttons in the main shell 2026-05-11 06:37:26 +02:00
renderer-profile.ts a11y: streamer-profile header — avatar wrap + live card keyboard-activatable 2026-05-11 03:41:21 +02:00
renderer-queue.ts a11y: queue progress bar — role=progressbar + aria-valuenow 2026-05-11 04:27:13 +02:00
renderer-settings.ts cleanup: dedupe setPageTitle fallback in renderer-settings 2026-05-11 05:33:47 +02:00
renderer-shared.ts fix: persist expanded details across re-renders, guard drag-drop init against duplicates 2026-03-21 15:03:20 +01:00
renderer-stats.ts cleanup: stats size-bucket histogram — extract inline styles 2026-05-11 05:04:07 +02:00
renderer-streamers.ts feat: window title syncs with active tab / streamer 2026-05-11 05:29:04 +02:00
renderer-texts.ts a11y: aria-label on the 3 icon-only buttons in the main shell 2026-05-11 06:37:26 +02:00
renderer-updates.ts a11y: update-banner progress bar role=progressbar + aria-valuenow 2026-05-11 04:36:42 +02:00
renderer-vod-hover.ts perf: bound the renderer-side VOD storyboard cache (FIFO 100) 2026-05-11 04:08:42 +02:00
renderer.ts feat: window title syncs with active tab / streamer 2026-05-11 05:29:04 +02:00
styles.css cleanup: .form-row.aligned modifier + .form-sublabel reuse — 5 inline styles gone 2026-05-11 06:31:40 +02:00
tools.ts refactor: extract tool discovery functions to src/tools.ts 2026-03-20 10:00:51 +01:00
types.ts feat: live recording health indicator (green/amber dot per item) 2026-05-10 22:04:53 +02:00
update-version-utils.ts chore: migrate repository to Codeberg, bump version to 4.2.0, update update logic 2026-03-01 20:23:21 +01:00