Skip to content

Implement the member list with virtuoso #29869

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

langleyd
Copy link
Member

@langleyd langleyd commented May 2, 2025

Fixes #30020
Fixes #29249

What's in this PR?

  • It implements the member list with virtuoso for smooth scrolling without scroll-jumps
  • Improves a11y including better keyboard navigation (up, down, home, end, pageUp, pageDown).

What does it look like?

Screen.Recording.2025-05-02.at.10.20.05.mov

Checklist

  • Tests written for new code (and old code if feasible).
  • New or updated public/exported symbols have accurate TSDoc documentation.
  • Linter and other CI checks pass.
  • I have licensed the changes to Element by completing the Contributor License Agreement (CLA)

It's more performant and feels less glitchy than the button tooltip moving around when you scroll.
langleyd added 3 commits May 8, 2025 15:57
As we have for other icon based buttons in the right panel/app
- As well as stylng cells, set the tabIndex(roving)
- Natively focus the div with .focus() so screen reader actually moves over the cells
- improve labels and roles
…l list.

So it isn't erroneously called during onClick of an item.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Disinviting someone from a room breaks scrolling in the member list Jumpy scrolling inside a room members list
1 participant