diff --git a/browser/components/downloads/content/download.xml b/browser/components/downloads/content/download.xml index b825ae3b0e0f..16c2e9bb67c4 100644 --- a/browser/components/downloads/content/download.xml +++ b/browser/components/downloads/content/download.xml @@ -55,6 +55,28 @@ + + + + + + + diff --git a/browser/components/downloads/content/downloads.js b/browser/components/downloads/content/downloads.js index ed2f0ca5777c..afca61891f0f 100644 --- a/browser/components/downloads/content/downloads.js +++ b/browser/components/downloads/content/downloads.js @@ -1037,6 +1037,16 @@ const DownloadsView = { * Mouse listeners to handle selection on hover. */ onDownloadMouseOver(aEvent) { + if (aEvent.originalTarget.classList.contains("downloadButton")) { + aEvent.target.classList.add("downloadHoveringButton"); + + let button = aEvent.originalTarget; + let tooltip = button.getAttribute("tooltiptext"); + if (tooltip) { + button.setAttribute("aria-label", tooltip); + button.removeAttribute("tooltiptext"); + } + } if (!(this.contextMenuOpen || this.subViewOpen) && aEvent.target.parentNode == this.richListBox) { this.richListBox.selectedItem = aEvent.target; @@ -1044,6 +1054,9 @@ const DownloadsView = { }, onDownloadMouseOut(aEvent) { + if (aEvent.originalTarget.classList.contains("downloadButton")) { + aEvent.target.classList.remove("downloadHoveringButton"); + } if (!(this.contextMenuOpen || this.subViewOpen) && aEvent.target.parentNode == this.richListBox) { // If the destination element is outside of the richlistitem, clear the diff --git a/browser/locales/en-US/chrome/browser/downloads/downloads.dtd b/browser/locales/en-US/chrome/browser/downloads/downloads.dtd index 6d5ebfdc4831..d749fdc0ef23 100644 --- a/browser/locales/en-US/chrome/browser/downloads/downloads.dtd +++ b/browser/locales/en-US/chrome/browser/downloads/downloads.dtd @@ -89,6 +89,30 @@ --> + + + + + + + + + + + +