You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to research-12 (docs/research/acture_research_12 -- Accessibility APIs and Command Dispatch.md, §3 and §4.1). acture's CommandRecord already matches the cross-platform accessibility action shape (label, description, key binding, enabled, invoke). What's missing is the projections and a few small gaps. Each item is small, and none needs a new CommandRecord field unless item 4 finds a named consumer.
Palette ARIA test.acture-palette-react gets the APG combobox pattern from cmdk 1.1, but nothing asserts it. Add a test covering roles, aria-activedescendant and the accessible name, plus the focus hand-off when the view switches to the picker chain or the handoff form.
Hidden vs disabled. The palette drops commands whose when is false. Menus conventionally show them as disabled. Decide per surface and record the rule in acture-palette-design. A menu projection should map when to aria-disabled / AXEnabled.
Dispatch-result announcer. Route Result (ok or error.message) to a polite aria-live region after the palette closes (WCAG 4.1.3). It is a small consumer or middleware and covers every surface.
Toggle / checked state (design only). Checkable commands (menuitemcheckbox, AXMenuItemMarkChar, UIA Toggle) have nowhere to report their state. Prefer a separate state projection keyed by command id over a record field. Needs a named consumer first.
aria-keyshortcuts in projections. Emit it from keybinding (with $mod resolved to Control or Meta) on menu and button projections, where the shortcut is live.
docs/hand-written-native-menu.md. Project the registry into an Electron/Tauri native menu (label, accelerator, enabled, checked, click → dispatch). This exposes an acture app's commands to VoiceOver, the macOS Help-menu search, Raycast and Paletro.
WCAG 2.1.4. Optionally add a single "disable character-key shortcuts" switch to acture-hotkeys. Per-binding unbind already meets the criterion, as research-10 §3.7 notes.
Follow-up to research-12 (
docs/research/acture_research_12 -- Accessibility APIs and Command Dispatch.md, §3 and §4.1). acture'sCommandRecordalready matches the cross-platform accessibility action shape (label, description, key binding, enabled, invoke). What's missing is the projections and a few small gaps. Each item is small, and none needs a newCommandRecordfield unless item 4 finds a named consumer.acture-palette-reactgets the APG combobox pattern from cmdk 1.1, but nothing asserts it. Add a test covering roles,aria-activedescendantand the accessible name, plus the focus hand-off when the view switches to the picker chain or the handoff form.whenis false. Menus conventionally show them as disabled. Decide per surface and record the rule inacture-palette-design. A menu projection should mapwhentoaria-disabled/AXEnabled.Result(okorerror.message) to a politearia-liveregion after the palette closes (WCAG 4.1.3). It is a small consumer or middleware and covers every surface.menuitemcheckbox,AXMenuItemMarkChar, UIA Toggle) have nowhere to report their state. Prefer a separate state projection keyed by command id over a record field. Needs a named consumer first.aria-keyshortcutsin projections. Emit it fromkeybinding(with$modresolved toControlorMeta) on menu and button projections, where the shortcut is live.docs/hand-written-native-menu.md. Project the registry into an Electron/Tauri native menu (label, accelerator, enabled, checked, click → dispatch). This exposes an acture app's commands to VoiceOver, the macOS Help-menu search, Raycast and Paletro.acture-hotkeys. Per-binding unbind already meets the criterion, as research-10 §3.7 notes.