-
Notifications
You must be signed in to change notification settings - Fork 279
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
chore(clerk-js): Improve accessibility in UserButton and OrganizationSwitcher #1826
Conversation
🦋 Changeset detectedLatest commit: c84e4b0 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
The Everything you'd need to know about this is explained here, also with guides on what to use when :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job on this! 🎉
packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherTrigger.tsx
Outdated
Show resolved
Hide resolved
packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx
Outdated
Show resolved
Hide resolved
packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx
Outdated
Show resolved
Hide resolved
packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherTrigger.tsx
Show resolved
Hide resolved
/> | ||
<Actions> | ||
<Actions role='group'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you add this here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our code treats these actions and the OrganizationActionList
as 2 different groups
i believe it is allowed to have groups inside a menu
packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx
Outdated
Show resolved
Hide resolved
packages/clerk-js/src/ui/components/OrganizationSwitcher/OtherOrganizationActions.tsx
Outdated
Show resolved
Hide resolved
packages/clerk-js/src/ui/components/UserButton/UserButtonTrigger.tsx
Outdated
Show resolved
Hide resolved
packages/clerk-js/src/ui/components/OrganizationSwitcher/UserMembershipList.tsx
Outdated
Show resolved
Hide resolved
https://codesandbox.io/s/distracted-swirles-jo1pvu?file=/src/Popover.tsx from https://floating-ui.com/docs/popover shows how to do popovers with our floating-ui usage |
…Switcher (pr comments)
dfee21a
to
0d2591d
Compare
.changeset/ten-wolves-cry.md
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like a duplicate file here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😅 i will remove it
.changeset/afraid-bobcats-mate.md
Outdated
'@clerk/clerk-js': patch | ||
--- | ||
|
||
Impove accessibility of UserButton and OrganizationSwitcher by using aria-\* attributes and roles like `menu` and `menuitems`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Impove accessibility of UserButton and OrganizationSwitcher by using aria-\* attributes and roles like `menu` and `menuitems`. | |
Improve accessibility of `<UserButton />` and `<OrganizationSwitcher />` by using `aria-*` attributes (where appropriate) and roles like `menu` and `menuitem`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
This is an effort to improve the underlying semantics of UserButton and OrganizationSwitcher and provide a better accessibility experience.
In order to come up with this changes i followed the implementation of similar components created with
Tested with
Checklist
npm test
runs as expected.npm run build
runs as expected.Type of change
Packages affected
@clerk/clerk-js
@clerk/clerk-react
@clerk/nextjs
@clerk/remix
@clerk/types
@clerk/themes
@clerk/localizations
@clerk/clerk-expo
@clerk/backend
@clerk/clerk-sdk-node
@clerk/shared
@clerk/fastify
@clerk/chrome-extension
gatsby-plugin-clerk
build/tooling/chore