Closed Bug 1628255 Opened 2 years ago Closed 2 years ago

about:downloads and the Downloads page in the Library window no longer speak the name of downloaded files


(Firefox :: Bookmarks & History, defect, P1)

77 Branch



Firefox 77
Tracking Status
firefox-esr68 --- unaffected
firefox74 --- unaffected
firefox75 --- unaffected
firefox76 --- unaffected
firefox77 --- verified


(Reporter: MarcoZ, Assigned: Gijs)




(Keywords: access, regression, Whiteboard: [access-p1])


(1 file)

A very recent regression, probably bug 1608202.


  1. Download something.
  2. Open either about:downloads, or the Downloads page in the Library window by pressing CTRL+J.
  3. Open Dev Tools, the Browser Toolbox, and Accessibility Inspector. Turn on the engine and inspect the accessible name for each richlistitem in the panel.
    • Expected: The name of the list item should be the file name, followed by the size and download source, as before.
    • Actual: All items only have an accessible name of "Open target folder". This corresponds to the name of the button that is also included in the list item children.

There is probably an aria-label or aria-labelledby override somewhere that only grabs the name of the button, but not the actual file info.

This makes it impossible for screen reader users to efficiently navigate the files they downloaded. Access-p1 for this, since it is a regression that seriously breaks functionality.

Priority: -- → P1

I can reproduce this bug. Windows 10 firefox 77 nvda screen reader.

This occurs because the "open containing folder" button now has a label attribute which it didn't previously have. That causes a XUL label element to be created. That means that the richlistitem implementation of nsIDOMXULSelectControlItemElement::label, which concatenates the values of any label children, returns just this new label, since it's the only label. That overrides the a11y engine's fallback of calculating the name from subtree, which is what we used to do (and what we really want here).

Gijs, you noted that this label is invisible. Do we really need it in that case if we didn't have it before? (Presumably, we still have tooltiptext?) Obviously, the fact that the label attribute breaks things here is far from ideal. However, it's unclear to me exactly what the right fix is here. I'd need to dig back through history to figure out why we have this nsIDOMXULSelectControlItemElement::label implementation at all.

Flags: needinfo?(gijskruitbosch+bugs)

This is not the first time this nsIDOMXULSelectControlItemElement::label property has caused obscure, difficult-to-diagnose weirdness. See bug 1568453, where Morgan ended up removing an override of this to fix the bug.

Assignee: nobody → gijskruitbosch+bugs
Flags: needinfo?(gijskruitbosch+bugs)
See Also: → 1628415

As noted by Jamie, accessible labels for richlistitem elements come from the
label elements that have value attributes within them.

In bug 1608202, we accidentally reused the same fluent message for the buttons
in about:downloads and the library download view (DownloadsViewUI.jsm) and
the context menuitems that do the same thing. This meant that
those menuitems gained a tooltip they shouldn't have, and the buttons gained
a label and accesskey they shouldn't have. The latter caused the
accessibility regression described in the bug.

This patch separates out the two usecases for the same string. I also checked
the other l10nIds used in DownloadsViewUI.jsm, and as far as I can tell this
is the only one that is reused in this way.

Marco, can you doublecheck the issue is resolved for you on the build from ?

Flags: needinfo?(mzehe)

This works as intended. Thank you!

Flags: needinfo?(mzehe)
Pushed by
do not add a label/accesskey attribute to the button in the about:downloads and library downloads views, r=mconley,flod,fluent-reviewers
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 77

Verified fixed as part of PI 551; tested with Nightly 77 across platforms (Windows 10, macOS 10.15 and Ubuntu 18.04).

Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.