Skip to content

Consider ShadowDom removing for some key elements #800

@ianovalena

Description

@ianovalena

Is your feature request related to a problem? Please describe.
When it takes to external library integration or some a11y cases, ShadowDom can be a blocker
Recently, we had 2 cases:

  1. aria-describedby for CatTooltip doesn't work, because of 2 reasons: 1) aria-describedby attribute is assigned to a component wrapper(e.g. cat-button), but not to the tabbable element itself(e.g. button) and 2) even if we manage to assign it to intractable element, browsers are not looking for id from aria-describedby attribute outside of ShadowDom.
    Perhaps we can remove make Tooltip and button not shadow?
  2. Using CatButton as Swiper.js navigation buttons. Swiper allows using custom buttons for navigation and linking them by id, but when it comes to disabling (in case there is nothing to swipe), it tries to find the HTML button element to set disable="true" and can't find it in the ShadowDom. We need to create crazy workarounds to be able to keep disabling.

Describe the solution you'd like
Discuss one more time what the pros and cons of ShadowDom are, and do we really need it. If not, update some key components like Button to not use ShadowDom

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions