BeBuilder Toggle element: add Enter and Space keyboard support

Could you please consider adding add keyboard activation to the BeBuilder Toggle element? The toggle heading can receive keyboard focus, but pressing Enter or Space does not open or close the panel. Clicking it with a mouse works as expected.

Steps to reproduce

  1. Add a Toggle element to a page and open the published page.
  2. Press Tab until a toggle heading receives focus.
  3. Press Enter or Space. The panel does not open or close.

Requested behaviour

Enter and Space should open or close the focused panel, with focus staying on its heading. Pressing Space should activate the toggle without scrolling the page. Please also put aria-expanded on the interactive control and update it to reflect whether the panel is open or closed.

A native button for each toggle heading would provide the expected keyboard behaviour. If the existing markup needs to stay, an Enter and Space listener would give users equivalent control.

This would make Toggle content accessible to people who navigate by keyboard or use assistive technologies. It would also let screen readers announce the current state of each panel.

Comments

Sign In or Register to comment.
This website uses cookies

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.

Cookies are small text files that can be used by websites to make a user's experience more efficient.

The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission. This means that cookies which are categorized as necessary, are processed based on GDPR Art. 6 (1) (f). All other cookies, meaning those from the categories preferences and marketing, are processed based on GDPR Art. 6 (1) (a) GDPR.

This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages.

You can at any time change or withdraw your consent from the Cookie Declaration on our website.

Learn more about who we are, how you can contact us and how we process personal data in our Privacy Policy.

Please state your consent ID and date when you contact us regarding your consent.