dotnet / dotnet/aspnetcore

Components.AI: Correct shell semantics, dismissal, and focus behavior

Open
#68,445 0 comments 0 reactions 0 assignees View on GitHub
area-blazor cost: M feature-accessibility Priority:0
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

### Is your feature request related to a problem? Please describe the problem.

Drawer and bubble are labeled as dialogs despite being non-modal, lack complete Escape behavior, and do not consistently restore or place focus.

### Describe the solution you'd like

Use labeled region/complementary semantics, expose `aria-expanded`/`aria-controls`, focus the composer on open, restore the trigger on close, support Escape cancellation/dismissal, and never trap focus. Decide whether `popover="manual"` should provide bubble top-layer behavior.

### Additional context

Leaf task for #68227 requirements H3-H5 and open design decision 5.

Contributor guide

Open the contributing guide

Research direction

Start with the Drawer and bubble components and the requirements in #68227, especially H3-H5 and open design decision 5. Verify the intended semantics, expanded/controlled relationships, focus movement and restoration, Escape behavior, focus non-trapping, and whether popover="manual" should provide bubble top-layer behavior; done means these behaviors are implemented consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
accessibility, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.