From 057992faafec0049f86309abd13ed2f3b1fa4815 Mon Sep 17 00:00:00 2001 From: Claude Fable 5 Date: Tue, 21 Jul 2026 14:04:36 +0200 Subject: [PATCH] =?UTF-8?q?#164:=20ARIA-Semantik=20=E2=80=94=20Editorfl?= =?UTF-8?q?=C3=A4che,=20Autocomplete-Listboxen,=20Sidebar,=20Toolbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Editorfläche bekommt einen lokalisierten zugänglichen Namen und ist im Lesemodus role=document statt eines unbenannten Textfelds (setOptions im selben Layout-Effekt wie setEditable). Eingeklappte Sidebar zusätzlich inert (aria-hidden allein ließ fokussierbare Kinder im Tab-Weg). Die li-Zwischenknoten der Listboxen (Wikilink-/Mention-Autocomplete, Suchergebnisse) sind role=presentation, damit listbox→option wieder eine gültige Eltern-Kind-Beziehung ist. Toolbar: Pfeiltasten-Navigation über die Controls (native Selects behalten ihre Pfeiltasten) und ein sprechendes Toolbar-Label statt des Absatz-Buttons-Labels. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01AGM8jo3hwoV9wsCVGfy8iq --- apps/web/src/editor/MentionAutocomplete.tsx | 2 +- apps/web/src/editor/Toolbar.tsx | 23 +++++++++++++++++++- apps/web/src/editor/WikilinkAutocomplete.tsx | 2 +- apps/web/src/layout/Sidebar.tsx | 1 + apps/web/src/pages/PageEditorPage.tsx | 14 +++++++++++- apps/web/src/search/SearchPalette.tsx | 2 +- packages/shared/i18n/de/editor.json | 4 +++- packages/shared/i18n/en/editor.json | 4 +++- 8 files changed, 45 insertions(+), 7 deletions(-) diff --git a/apps/web/src/editor/MentionAutocomplete.tsx b/apps/web/src/editor/MentionAutocomplete.tsx index 873fcf6..17281c2 100644 --- a/apps/web/src/editor/MentionAutocomplete.tsx +++ b/apps/web/src/editor/MentionAutocomplete.tsx @@ -121,7 +121,7 @@ export function MentionAutocomplete({ editor }: { editor: Editor }): React.JSX.E style={{ position: 'fixed', left: state.coords.left, top: state.coords.bottom + 4 }} > {suggestions.map((user, index) => ( -
  • +