component-library icon indicating copy to clipboard operation
component-library copied to clipboard

Navigation Component: Duplicate IDs when using multiple instances

Open jacobdubailcadmv opened this issue 2 years ago • 0 comments
trafficstars

Describe the bug When implementing multiple instances of the Navigation component on the same page, duplicate IDs will be present in the DOM, leading to validation/a11y errors. https://github.com/10up/component-library/blob/develop/packages/navigation/src/navigation.js#L205 uses the loop's index to set the ID.

To Reproduce Steps to reproduce the behavior:

  1. Instantiate multiple navigation components on the same page
  2. Inspect the submenu IDs, e.g. "tenUp-submenu-0"

Expected behavior The unique IDs should be generated using the uuid package or the window.crypto.randomUUID() method, or the Navigation class should allow passing in an ID prefix.

Additional context My use case: I'm using the Navigation component for the main/primary navigation, as well as for navigation blocks in the editor.

jacobdubailcadmv avatar Apr 10 '23 14:04 jacobdubailcadmv