Closed Bug 1767173 Opened 2 years ago Closed 2 years ago

[CTW] Button containing details + summary doesn't get rendered in NVDA browse mode

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox100 --- unaffected
firefox101 --- disabled
firefox102 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

STR (with NVDA and CTW):

  1. Open this test case:
    data:text/html,<button><details><summary>test
  2. Press control+home to read the first line.
    • Expected: NVDA should say: "button button collapsed test"
    • Actual: NVDA says: "button"

I saw this when trying to toggle the filter categories for a search on this shopping site: https://www.kingsoopers.com/search?query=yoghurt&searchType=default_search&fulfillment=all

This happens because with CTW enabled, the explicit-name attribute gets exposed, telling NVDA to ignore the content of the button. That happens because explicit-name differentiates between a void string and an empty string, where an empty string means the author explicitly exposed an empty name as in alt="". The string should be set to void if it is empty and the rule isn't eNoNameOnPurpose.

There's arguably another bug that causes us to get here, which is that we don't recurse into a summary element when calculating name from subtree. That said, putting a details element inside a button is weird authoring anyway given that the summary is a button itself. Regardless, that's out of scope for this bug.

This distinction between void and empty exists in LocalAccessible, so we should be consistent in RemoteAccessible.
This fixes exposure of explicit-name when the name is empty.
To facilitate this, we no longer assume the name flag is not in the cache just because the name string isn't in the cache, since it could be eNoNameOnPurpose.

Has Regression Range: --- → yes
Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3a04fc935eb5
When retrieving the cached name, set name string to void when it is empty but not explicitly set empty using alt="". r=eeejay
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch

Set release status flags based on info from the regressing bug 1766142

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: