Update to the tooltip.js to add an aria-label attribute that contains the original title of the element, but only if the element doesn't have an existing aria-label attribute.
This is to address cases where screen readers are not capturing the aria-describedby attribute that is added when the tooltip is triggered. This should also avoid a race condition between the screen reader and the appearance of the tooltip.
if (title || originalTitleType !== 'string') {
this._element.setAttribute('data-bs-original-title', title || '')
+ if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
+ this._element.setAttribute('aria-label', this._element.getAttribute('title') || '')
+ }
+
this._element.setAttribute('title', '')
}
}