diff --git a/packages/html/src/ui/time/time-element.ts b/packages/html/src/ui/time/time-element.ts
index 73af63db..43b7babe 100644
--- a/packages/html/src/ui/time/time-element.ts
+++ b/packages/html/src/ui/time/time-element.ts
@@ -25,19 +25,16 @@ export class TimeElement extends MediaElement {
readonly #signSpan = document.createElement('span');
readonly #textNode = document.createTextNode('');
- constructor() {
- super();
-
- this.#signSpan.setAttribute('aria-hidden', 'true');
- this.#signSpan.hidden = true;
-
- this.appendChild(this.#signSpan);
- this.appendChild(this.#textNode);
- }
-
override connectedCallback(): void {
super.connectedCallback();
+ if (!this.#signSpan.parentNode) {
+ this.#signSpan.setAttribute('aria-hidden', 'true');
+ this.#signSpan.hidden = true;
+ this.appendChild(this.#signSpan);
+ this.appendChild(this.#textNode);
+ }
+
if (__DEV__ && !this.#state.value) {
logMissingFeature(this.localName, this.#state.displayName!);
}