Skip to content

Accessibility / keyboard-ARIA pass on the choice & macro GUIs (post Svelte 5) #1250

@chhoumann

Description

@chhoumann

Context

The Svelte 5 rewrite (#1248) was deliberately behavior-preserving and did not touch accessibility. Now that every component is modern runes code, an a11y pass is low-cost and worthwhile.

Scope

Audit and improve keyboard/ARIA across the migrated GUIs:

  • The role="button" + tabindex + manual onclick/onkeypress patterns in choice rows (ChoiceListItem, MultiChoiceListItem, ChoiceItemRightButtons), command rows (the 7 MacroGUIs/Components/*), and the drag handles.
  • Focus management in the modals (ChoiceBuilder/templateChoiceBuilder, MacroBuilder, ConditionalBranchEditorModal, the PackageManager modals).
  • ARIA roles/labels and keyboard operability of the drag-to-reorder handles (svelte-dnd-action).
  • Run eslint-plugin-svelte's a11y rules at a stricter level and address findings.

Acceptance

  • Keyboard-only operability of choice/command CRUD + reorder.
  • No regressions to existing behavior (verify in the dev vault).

Deferred from #1248 (out of scope for a behavior-preserving migration).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions