diff --git a/src/core/directives/update-non-reactive-attributes.ts b/src/core/directives/update-non-reactive-attributes.ts index 1c8508c3b..6089403a4 100644 --- a/src/core/directives/update-non-reactive-attributes.ts +++ b/src/core/directives/update-non-reactive-attributes.ts @@ -33,15 +33,18 @@ export class CoreUpdateNonReactiveAttributesDirective implements OnInit, OnDestr constructor(element: ElementRef) { this.element = element.nativeElement; this.mutationObserver = new MutationObserver(() => { - const ariaLabel = this.element.getAttribute('aria-label'); - if (!ariaLabel) { - // Aria label unset by ionButton component (when first created). + const button = this.element.shadowRoot?.querySelector('button'); + + if (!button) { return; } // Propagate label to button. - const button = this.element.shadowRoot?.querySelector('button'); - button?.setAttribute('aria-label', ariaLabel); + const ariaLabel = this.element.getAttribute('aria-label'); + + ariaLabel + ? button.setAttribute('aria-label', ariaLabel) + : button.removeAttribute('aria-label'); }); } @@ -51,10 +54,6 @@ export class CoreUpdateNonReactiveAttributesDirective implements OnInit, OnDestr async ngOnInit(): Promise { await this.element.componentOnReady(); - if (!this.element.getAttribute('aria-label')) { - return; - } - this.mutationObserver.observe(this.element, { attributes: true, attributeFilter: ['aria-label'] }); } diff --git a/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts b/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts index 18a9760fb..07bf8b799 100644 --- a/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts +++ b/src/core/features/editor/components/rich-text-editor/rich-text-editor.ts @@ -176,6 +176,8 @@ export class CoreEditorRichTextEditorComponent implements OnInit, AfterContentIn this.editorElement.oninput = this.onChange.bind(this); this.editorElement.onkeydown = this.moveCursor.bind(this); + await CoreDomUtils.waitToBeVisible(this.editorElement); + // Use paragraph on enter. document.execCommand('DefaultParagraphSeparator', false, 'p');