Skip to content
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

feat(core): add listbox support for roving-tabindex-controller #2563

Closed
wants to merge 40 commits into from

Conversation

nikkimk
Copy link
Collaborator

@nikkimk nikkimk commented Jul 20, 2023

What I did

  1. Added directional support to roving-tabindex-controller.
  2. Added a listbox-controller.
  3. Added listbox components in order to test the support and demo how we can create an accessible listbox component: pf-listbox, pf-listbox-group, and pf-listbox-option.

Testing Instructions

  1. See default demo
  2. See orientation demo
  3. See multiple selections demo
  4. See grouped options demo
  5. See filter modes demo (combobox support)

Notes to Reviewers

This is in draft with a temporary listbox for testing. We may be able to either use it as a reference or adapt it for a future listbox component.

Components with role=listbox can be used as standalone elements, as part of a combobox. See the following references:

  1. Toggle and Items Accessibility
  2. Web component benchmarking
  3. WAI ARIA Listbox Pattern
  4. WAI ARIA Example Listbox Grouped
  5. WAI ARIA Combobox Pattern

@changeset-bot
Copy link

changeset-bot bot commented Jul 20, 2023

⚠️ No Changeset found

Latest commit: c6fe972

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions github-actions bot added work in progress POC / Not ready for review demo Updating demo pages doc functionality Functionality, typically pertaining to the JavaScript. styles An issue or PR pertaining only to CSS/Sass tests Related to testing labels Jul 20, 2023
@github-actions github-actions bot added the AT passed Automated testing has passed label Jul 20, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jul 20, 2023

Deploy Preview for patternfly-elements ready!

Name Link
🔨 Latest commit c9d1042
😎 Deploy Preview https://deploy-preview-2563--patternfly-elements.netlify.app/

To edit notification comments on pull requests, go to your Netlify site settings.

elements/package.json Outdated Show resolved Hide resolved
Copy link
Member

@bennypowers bennypowers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm excited about this work. We'll have to get creative about how we ship reusable code here, as we want to limit ourselves in @patternfly/elements to existing components. We have more flexibility in @patternfly/pfe-core, so I think we should explore what the Lit templating and reactivity APIs have to offer, since most of the code here is or could be made agnostic to specific DOM structure and styles

elements/pf-listbox/pf-listbox.ts Outdated Show resolved Hide resolved
@bennypowers
Copy link
Member

Can we merge main in then rebase this to menu-dropdown-listbox?

@nikkimk
Copy link
Collaborator Author

nikkimk commented Aug 16, 2023

Moved to #2570

@nikkimk nikkimk closed this Aug 16, 2023
@bennypowers bennypowers deleted the feat/update-roving-tabindex-controller branch August 20, 2023 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AT passed Automated testing has passed demo Updating demo pages functionality Functionality, typically pertaining to the JavaScript. styles An issue or PR pertaining only to CSS/Sass tests Related to testing work in progress POC / Not ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat]: Update roving-tabindex-controller key handling based on based on grid, tree, and listbox roles
2 participants