From 328f723008cc39292a9f355e2eafb0fd04740656 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Tue, 7 Dec 2021 15:51:56 +0200 Subject: Tooltip: remove title attribute before show & add tests (#35456) --- js/src/tooltip.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'js/src') diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 2f3acda38..19a9b3168 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -394,7 +394,7 @@ class Tooltip extends BaseComponent { } _getTitle() { - return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('title') + return this._config.title } // Private @@ -510,11 +510,17 @@ class Tooltip extends BaseComponent { } _fixTitle() { - const title = this._element.getAttribute('title') + const title = this._config.originalTitle - if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) { + if (!title) { + return + } + + if (!this._element.getAttribute('aria-label') && !this._element.textContent) { this._element.setAttribute('aria-label', title) } + + this._element.removeAttribute('title') } _enter() { @@ -579,6 +585,8 @@ class Tooltip extends BaseComponent { } } + config.originalTitle = this._element.getAttribute('title') || '' + config.title = this._resolvePossibleFunction(config.title) || config.originalTitle if (typeof config.title === 'number') { config.title = config.title.toString() } -- cgit v1.2.3