Closed Bug 1963577 Opened 18 days ago Closed 5 days ago

NVDA says `clickable` before saying the option

Categories

(Toolkit :: UI Widgets, defect)

Desktop
Windows
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox138 --- disabled
firefox139 --- disabled
firefox140 --- affected

People

(Reporter: atrif, Unassigned)

References

Details

(Whiteboard: [recomp])

Attachments

(1 file)

Attached image nvda_settings.gif

Found in

  • 140.0a1 (2025-04-29)

Affected versions

  • 140.0a1 (2025-04-27)
  • 139.0b1
  • 138.0

Tested platforms

  • Affected platforms: Windows 10x64
  • Unaffected platforms: Ubuntu 24, macOS 12

Preconditions

  • settings.revamp.design: true
  • NVDA active

Steps to reproduce

  1. Inside Perferecens > General > Browsing section, use the Tab key to navigate through options.

Expected result

  • No clickable word is spoken by NVDA

Actual result

  • clickable word is spoken by NVDA

Regression range

  • Not a regression, new feature.

Additional notes

  • Attached a screen recording.

I found this GitHub issue which seems to suggest NVDA will suppress the "clickable" if the focused item is clearly clickable, like a button, checkbox, etc. Perhaps we need to be setting some sort of role somewhere (although the focused item is the checkbox in the shadow DOM so seems a little odd)

Component: Settings UI → UI Widgets
Product: Firefox → Toolkit
Whiteboard: [recomp]

I need to get further confirmation, but I think this is happening because of the <label> element we're using to wrap the <input> element.

For example, if you run this snippet:

<label for="name">Name:
<input
  type="checkbox"
  id="name"
  name="name"
  required />
</label>

When you first tab to the input element, NVDA will announce "clickable Name: checkbox" along with the standard announcement when focusing an input. I'm assuming this is either a bug in NVDA or a conscious decision due to information that I'm not aware of.

I'm also getting "clickable" read by NVDA with basic HTML 🤔 I put together a JSBin with 3 examples. A standalone label that references a checkbox, a label that wraps a checkbox, and just a checkbox with an aria-label. Both cases that have a label read "clickable", but the version with just an aria-label does not.

I used the f key to navigate to the checkboxes with NVDA and hear this:

clickable frame frame Label standalone: check box not checked
clickable Label wrapping: check box not checked
Label aria-label check box not checked

With VoiceOver I get this (it treats the label as its own element using VO+arrows):

Label standalone: clickable
Label standalone: unchecked checkbox
Label wrapping: clickable
Label wrapping: unchecked checkbox
Label aria-label unchecked checkbox

Using the VO+Cmd+J shortcut I just learned for form controls it only selects the checkboxes themselves and I get these lines read out:

Label standalone: unchecked checkbox
Label wrapping: unchecked checkbox
Label aria-label unchecked checkbox

Jamie, is this NVDA behaiour expected?

Flags: needinfo?(jteh)

It's currently expected. Whether it remains so is up to the NVDA developers. Strictly speaking, the label is clickable: if you click it, it activates the associated control, which is why Firefox accessibility reports that it is clickable. However, NVDA may choose to suppress this at some point in future.

Flags: needinfo?(jteh)

Sounds like this is a WONTFIX to me then. Thanks Jamie

Status: NEW → RESOLVED
Closed: 5 days ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: