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
{{ message }}
Repository navigation
a11y: close the accessibility gaps found in research-12 #64
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.
Landed: #66 (palette ARIA/focus test, hidden-vs-disabled rule in the palette-design skill) and #71 (acture-a11y unpublished package: announcer + aria-keyshortcuts/ARIA projection; docs/hand-written-native-menu.md; checked-state design, no record field). Publishing decision: #70. Follow-ups: #67, #68.
Remaining: WCAG 2.1.4 one-switch 'disable character-key shortcuts' option in acture-hotkeys (optional item; per-binding unbind already meets the criterion). Keep this issue open for it.
Activity
docs(research): link research-12 follow-up issue #64
docs(research): research-12, accessibility APIs and command dispatch (#…
a11y(palette-react): ARIA/focus tests, named+announced text step, hid…
a11y: acture-a11y (unpublished), native-menu doc, checked-state design (
thorwhalen commentedon Oct 13, 2026
Landed: #66 (palette ARIA/focus test, hidden-vs-disabled rule in the palette-design skill) and #71 (
acture-a11yunpublished package: announcer +aria-keyshortcuts/ARIA projection;docs/hand-written-native-menu.md; checked-state design, no record field). Publishing decision: #70. Follow-ups: #67, #68.Remaining: WCAG 2.1.4 one-switch 'disable character-key shortcuts' option in
acture-hotkeys(optional item; per-binding unbind already meets the criterion). Keep this issue open for it.