diff --git a/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte b/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte index 9f22d29c..8690161d 100644 --- a/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte +++ b/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte @@ -72,10 +72,10 @@ import TranscribeDragDemo from './TranscribeDragDemo.svelte'; {m.transcribe_coach_footer_richtlinien()} {m.common_opens_new_tab()} -

+

{m.transcribe_coach_shortcut_hint_before()} ? {m.transcribe_coach_shortcut_hint_after()} diff --git a/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte.spec.ts b/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte.spec.ts index 2c7eedd3..f3a25fc4 100644 --- a/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte.spec.ts +++ b/frontend/src/lib/shared/help/TranscribeCoachEmptyState.svelte.spec.ts @@ -72,6 +72,14 @@ describe('TranscribeCoachEmptyState', () => { expect(kbd?.textContent).toBe('?'); }); + it('hides the keyboard hint on touch-only (coarse-pointer) devices', async () => { + render(TranscribeCoachEmptyState); + const hint = document.querySelector('kbd')?.closest('p'); + // The hint is gated behind a fine-pointer media query so touch-only + // transcribers are never told to press a key they do not have (#327). + expect(hint?.className).toContain('pointer:coarse'); + }); + it('renders the drag demo animation region inside step 1', async () => { render(TranscribeCoachEmptyState); const demo = page.getByRole('img', { name: /Rahmen ziehen|Animation/i });