fix(bulk-edit): a11y + i18n hardening (Leonie blockers 1–4 + quick concerns)
B1 — i18n the archive-box / archive-folder labels and add helper text.
Karton/Mappe were hardcoded German and broke EN/ES locales (WCAG 3.1.2).
B2 — drop the hardcoded German aria-label on the onboarding callout.
role="note" + the visible localised text is self-describing; the redundant
label was overriding the translated content for AT users on EN/ES.
B3 — Escape clears the bulk selection while the bar is visible. Adds an
"Esc: Auswahl aufheben" hint visible at ≥ sm (WCAG 2.1.1).
B4 — /documents and /enrich reserve pb-32 when the bulk-selection bar is
visible so it doesn't occlude the last row or pagination (WCAG 1.4.10).
Folded in three Leonie quick-concerns:
- C5: badge text-[10px] → text-[11px], raw text-gray-600 →
design-token text-ink-2 (dark-mode safe)
- C7: aria-live="polite" on bulk-selection-count
- C11: "Alles aufheben" → "Auswahl aufheben" (DE/EN/ES) — disambiguates
from "discard the operation entirely"
Refs #225, PR #331
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -200,7 +200,13 @@ $effect(() => {
|
||||
<title>{m.nav_documents()} – Familienarchiv</title>
|
||||
</svelte:head>
|
||||
|
||||
<main class="mx-auto max-w-7xl px-4 py-8 font-sans sm:px-6 lg:px-8">
|
||||
<!-- Reserve bottom padding when the bulk-selection bar is visible so the
|
||||
sticky bar does not occlude the last document row or the pagination
|
||||
controls (WCAG 1.4.10 / 2.4.7). -->
|
||||
<main
|
||||
class="mx-auto max-w-7xl px-4 py-8 font-sans sm:px-6 lg:px-8"
|
||||
class:pb-32={bulkSelectionStore.size > 0 && data.canWrite}
|
||||
>
|
||||
<h1 class="sr-only">{m.nav_documents()}</h1>
|
||||
|
||||
<SearchFilterBar
|
||||
|
||||
@@ -10,7 +10,9 @@ const count = $derived(documents.length);
|
||||
const canWrite = $derived(data.canWrite);
|
||||
</script>
|
||||
|
||||
<div class="mx-auto max-w-4xl px-4 py-10">
|
||||
<!-- Reserve bottom padding when the bulk-selection bar is visible so the
|
||||
sticky bar does not occlude the last document row (WCAG 1.4.10). -->
|
||||
<div class="mx-auto max-w-4xl px-4 py-10" class:pb-32={bulkSelectionStore.size > 0 && canWrite}>
|
||||
<!-- Back Link -->
|
||||
<BackButton />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user