From 8a3b19ea9243b528c34aa821d1f15b751230272d Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Wed, 13 Dec 2017 22:53:26 +0100 Subject: [PATCH] fix(aria-describer): server-side rendering error during cleanup (#8903) Fixes a potential server-side rendering error when the `AriaDescriber` is being cleaned up. Fixes #8901. --- src/cdk/a11y/aria-describer.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cdk/a11y/aria-describer.ts b/src/cdk/a11y/aria-describer.ts index 54cc1f7fb72a..f6e0094e9c88 100644 --- a/src/cdk/a11y/aria-describer.ts +++ b/src/cdk/a11y/aria-describer.ts @@ -138,7 +138,6 @@ export class AriaDescriber { /** Creates the global container for all aria-describedby messages. */ private _createMessagesContainer() { messagesContainer = this._document.createElement('div'); - messagesContainer.setAttribute('id', MESSAGES_CONTAINER_ID); messagesContainer.setAttribute('aria-hidden', 'true'); messagesContainer.style.display = 'none'; @@ -147,8 +146,10 @@ export class AriaDescriber { /** Deletes the global messages container. */ private _deleteMessagesContainer() { - this._document.body.removeChild(messagesContainer!); - messagesContainer = null; + if (messagesContainer && messagesContainer.parentNode) { + messagesContainer.parentNode.removeChild(messagesContainer); + messagesContainer = null; + } } /** Removes all cdk-describedby messages that are hosted through the element. */