-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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(COMPONENT): allow multiple instances of AriaDescriber #23499
Comments
Looking through it, I think that it should mostly work already. The That being said, I think that this will break down if the an I think the way to go is to do something similar to the |
…iners Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes angular#23499.
…iners Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes angular#23499.
…iners Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes angular#23499.
…iners Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes angular#23499.
…iners (#23507) Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes #23499. (cherry picked from commit 781a45a)
…iners (#23507) Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes #23499.
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
…iners (angular#23507) Currently the `AriaDescriber` is set up to clear all description containers whenever it is instantiated, in order to avoid duplicates coming in from the server. The problem is that there are legitimate use cases where we could have multiple containers (e.g. multiple CDK instances in a micro frontend architecture). These changes rework the internal setup of the `AriaDescriber` so that it only clears containers from server and it doesn't touch containers coming from other describer instances. Fixes angular#23499.
Feature Description
Allow to have several AriaDescriber containers on a same page.
Today the container of
AriaDescriber
is necessarily appended to body, with an hardcoded id, and any pre-existing container is removed.I see At least 3 different options to achieve this:
Do something similar to what's done in LiveAnnouncer: use an Injection token to inject the container.
Make the following constant customizable: MESSAGES_CONTAINER_ID . So that each instance of
AriaDescriber
can have his own container.Do something similar to OverlayContainer so that the container can be moved somewhere else on the page, and stop relying on the ID the remove it
In all cases, the following const should be customizable:
CDK_DESCRIBEDBY_ID_PREFIX
, otherwise elements with duplicated ID will be created on the page.Use Case
In the context of micro frontends, we may end up with 2 Angular Material instances on the same page.
Today, a second instance of
AriaDescriber
would remove the container of the first one, making it ineffective.The text was updated successfully, but these errors were encountered: