diff --git a/web/e2e/smoke.spec.js b/web/e2e/smoke.spec.js
index 0f60037..f5dbb37 100644
--- a/web/e2e/smoke.spec.js
+++ b/web/e2e/smoke.spec.js
@@ -5035,6 +5035,47 @@ test('et klik væk fra en kodeblok skriver ikke dens linjer sammen', async ({ pa
expect(trouble).toEqual([]);
});
+/**
+ * ⌘B gør teksten fed i en note — den folder ikke sidebjælken.
+ *
+ * Fladen tog ⌘B til sidebjælken med den begrundelse, at den "ikke flytter noget i
+ * feltet". Det passer for et , hvor ⌘B ikke gør noget. I en contenteditable
+ * ER ⌘B fed tekst, og `preventDefault()` stoppede browseren i at gøre den — så i
+ * noterne foldede menuen sig, hver gang man ville fremhæve et ord.
+ *
+ * Begge halvdele måles. En rettelse, der bare holdt op med at folde, ville være
+ * halvt færdig: ordet skal også blive fedt.
+ */
+test('⌘B gør teksten fed i en note i stedet for at folde sidebjælken', async ({ page }) => {
+ const trouble = watchForTrouble(page);
+ await page.goto('/noter');
+
+ const foldet = () => page.locator('.shell.sidebar-collapsed').count();
+ expect(await foldet()).toBe(0);
+
+ await nyNote(page);
+ await page.keyboard.type('Fremhævet');
+ await page.keyboard.press('Enter');
+ await page.keyboard.type('ordet');
+ await page.keyboard.press('ControlOrMeta+a');
+
+ const ed = page.getByRole('textbox', { name: 'Notens tekst' });
+ await page.keyboard.press('ControlOrMeta+b');
+
+ // Enten eller : browserens egen fed er , omformeren skriver
+ // , og begge læses som fed på vejen tilbage.
+ await expect(ed.locator('b, strong')).toContainText('ordet');
+ expect(await foldet()).toBe(0);
+
+ // Og uden for et skrivefelt gør den stadig det, den er sat til.
+ await page.getByRole('heading', { name: 'Noter' }).click();
+ await page.keyboard.press('ControlOrMeta+b');
+ expect(await foldet()).toBe(1);
+ await page.keyboard.press('ControlOrMeta+b');
+
+ expect(trouble).toEqual([]);
+});
+
/**
* Flere markerede afsnit bliver til ÉN monotypeblok — ikke kun det øverste.
*
diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte
index 17f67df..b311528 100644
--- a/web/src/routes/+layout.svelte
+++ b/web/src/routes/+layout.svelte
@@ -130,8 +130,20 @@
// Folding the sidebar had a button and nothing else, and a rectangle with a
// line down it is not a word: somebody who wanted the menu out of the way
// asked for the feature that was already there. ⌘B is where an editor puts
- // it. Works while typing as well — it moves nothing in the field.
- if ((event.metaKey || event.ctrlKey) && (event.key === 'b' || event.key === 'B')) {
+ // it.
+ //
+ // Men ikke i en rig editor. Her stod der "works while typing as well — it
+ // moves nothing in the field", og det passer for et , hvor ⌘B ikke
+ // gør noget. I en contenteditable ER ⌘B fed tekst, og `preventDefault()`
+ // nedenfor stoppede browseren i at gøre den — så i noterne foldede
+ // sidebjælken sig i stedet for at gøre ordet fedt. Feltet, markøren står i,
+ // har førsteret til en tast, det selv bruger.
+ const writing = el?.isContentEditable || el?.closest?.('[contenteditable="true"]');
+ if (
+ (event.metaKey || event.ctrlKey) &&
+ (event.key === 'b' || event.key === 'B') &&
+ !writing
+ ) {
event.preventDefault();
sidebar.toggle();
return;