- select: drop the dead `focus` block from the morfo. Select uses VIRTUAL focus (focus stays on the trigger via aria-activedescendant; items are never DOM-focused), so the declared `trap: true` / `initial: 'first-focusable'` was unimplemented and contradicted the behavior. Matches Combobox (no focus block). [select-002] - dialog: stop double-writing the Content `role`. The morfo declared `role: 'dialog'` (literal) AND the provider set `role = variant` — syncAttrs' dom.apply (which runs after Svelte render) overwrote the provider's `alertdialog` back to `dialog`, so AlertDialog rendered the wrong a11y role. Remove `role` from the morfo (it's variant-dependent, which a literal can't express) → the provider is the sole authority. Also drop the dead `aria-roledescription: undefined` (syncAttrs wrote the morfo value anyway). Browser-verified: alertdialog content -> role='alertdialog'. [dialog-001] - collapsible: `collapse` event -> `sequence: 'post'`. The provider sets `open = false` in the runtime HANDLER, so `pre` deferred the close behind the full perceptual hold — measured 250ms dead delay before the content closed (the Checkbox-lag class). With `post` the content closes immediately; the CSS exit animation is keyed on data-state. Browser-measured: 250ms -> 1ms. [collapsible-NEW-001] Verified: dialog/alert-dialog/select/collapsible provider tests green, morfo:check passes for all four (the 5 unrelated fails — chronos/combobox/fab/ menu-dial/words — are pre-existing and untouched), svelte-check 0 errors in touched files, browser-verified dialog role + collapsible latency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>active-uix
parent
98954a7c35
commit
db33f66cdf
Loading…
Reference in new issue