Skip to content

Keep the non-modal ChatSidebar out of the background's way - #256

Merged
einari merged 1 commit into
mainfrom
fix/chat-sidebar-nonmodal
Sep 9, 2026
Merged

Keep the non-modal ChatSidebar out of the background's way#256
einari merged 1 commit into
mainfrom
fix/chat-sidebar-nonmodal

Conversation

@einari

@einari einari commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Changed

  • Render the non-modal ChatSidebar as a plain portaled layer instead of React Aria's modal overlay, so the default (non-modal) open sidebar no longer blocks the rest of the UI — the background stays visible and interactive, and only the close/back affordances dismiss it, as the documented behavior already promised
  • Add specs covering both modes: a non-modal open sidebar leaves the background in the accessibility tree and clickable, and the modal one still hides it

Fixed

  • Opening the default non-modal chat sidebar locked the entire page behind it — React Aria's Modal intercepts its backdrop by design, so isDismissable={false} alone never made the background interactive

React Aria's Modal always intercepts its backdrop — its dismissal props
only gate how it closes, never whether it blocks — so the default
non-modal sidebar locked the whole page behind it even though the
documented promise is that the background stays visible and interactive.
Render a plain portaled layer for modal={false}: same classes and data
attributes, no dialog semantics, no dismissal behavior at all, only the
close/back affordances dismiss it. The modal path is unchanged.

Add specs asserting a non-modal open sidebar leaves the background in
the accessibility tree and clickable, and that the modal one still hides
it.
@einari einari added the patch label Sep 9, 2026
@einari
einari merged commit 9ca3e65 into main Sep 9, 2026
41 of 42 checks passed
@cratis-direct
cratis-direct Bot deleted the fix/chat-sidebar-nonmodal branch September 9, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant