mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-20 19:06:06 +01:00
Merge pull request #1188 from lkiesow/a11y-tooltip
Make Tooltips Accessible
This commit is contained in:
commit
a2cd755ffa
@ -21,7 +21,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
tooltip: null,
|
tooltip: null,
|
||||||
tooltipId: null,
|
tooltipId: null,
|
||||||
isShowing: false
|
isShowing: false,
|
||||||
|
hideTimeout: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -46,10 +47,12 @@ export default {
|
|||||||
var tooltip = document.createElement('div')
|
var tooltip = document.createElement('div')
|
||||||
this.tooltipId = String(Math.floor(Math.random() * 10000))
|
this.tooltipId = String(Math.floor(Math.random() * 10000))
|
||||||
tooltip.id = this.tooltipId
|
tooltip.id = this.tooltipId
|
||||||
tooltip.className = 'tooltip-wrapper absolute px-2 py-1 text-white pointer-events-none text-xs rounded shadow-lg max-w-xs text-center hidden sm:block'
|
tooltip.className = 'tooltip-wrapper absolute px-2 py-1 text-white text-xs rounded shadow-lg max-w-xs text-center hidden sm:block'
|
||||||
tooltip.style.zIndex = 100
|
tooltip.style.zIndex = 100
|
||||||
tooltip.style.backgroundColor = 'rgba(0,0,0,0.85)'
|
tooltip.style.backgroundColor = 'rgba(0,0,0,0.85)'
|
||||||
tooltip.innerHTML = this.text
|
tooltip.innerHTML = this.text
|
||||||
|
tooltip.addEventListener('mouseover', this.cancelHide);
|
||||||
|
tooltip.addEventListener('mouseleave', this.hideTooltip);
|
||||||
|
|
||||||
this.setTooltipPosition(tooltip)
|
this.setTooltipPosition(tooltip)
|
||||||
|
|
||||||
@ -95,6 +98,7 @@ export default {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.isShowing = true
|
this.isShowing = true
|
||||||
},
|
},
|
||||||
hideTooltip() {
|
hideTooltip() {
|
||||||
@ -102,11 +106,16 @@ export default {
|
|||||||
this.tooltip.remove()
|
this.tooltip.remove()
|
||||||
this.isShowing = false
|
this.isShowing = false
|
||||||
},
|
},
|
||||||
|
cancelHide() {
|
||||||
|
if (this.hideTimeout) clearTimeout(this.hideTimeout);
|
||||||
|
},
|
||||||
mouseover() {
|
mouseover() {
|
||||||
if (!this.isShowing) this.showTooltip()
|
if (!this.isShowing) this.showTooltip()
|
||||||
},
|
},
|
||||||
mouseleave() {
|
mouseleave() {
|
||||||
if (this.isShowing) this.hideTooltip()
|
if (this.isShowing) {
|
||||||
|
this.hideTimeout = setTimeout(this.hideTooltip, 100)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
Loading…
Reference in New Issue
Block a user