Closed Bug 1981593 Opened 1 year ago Closed 1 year ago

VoiceOver fails to expose selected state for items in multi-group nested listboxes

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox144 --- fixed

People

(Reporter: morgan, Assigned: morgan)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Hmm, maybe it is an issue with the intervening groups. I tested the difference between these two configs:

URI with identical tree structure to the breakdown above, which produces the same VO behaviour as about:editprofile (tree structure copied for reference):

> listbox
> > group
> > > option (selected)
> > > > group
> > > > > button
data:text/html,
<div role="listbox">
  <div role="group">
    <div role="group">
      <div role="option" aria-selected="true">
        <div role="group">
          <button>hi</button>
        </div>
      </div>
      <div role="option">
        <div role="group">
          <button>hello</button>
      </div>

URI with tree structure like this:

> listbox
> > option (selected)
> > > group
> > > > button
data:text/html,
<div role="listbox">
  <div role="option" aria-selected="true">
    <div role="group">
      <button>hi</button>
    </div>
  </div>
  <div role="option">
    <div role="group">
      <button>hello</button>
     </div>

In the latter, I can navigate through the listbox with VO+arrow keys and hear the selected state.

I think this is because AXSelectedChildren is only set in the latter example, not the former.

-- copied from here

Just in case it makes any difference and this wasn't just a typo in the bug comment, role="grouping" is not valid and will result in a generic Accessible, not a grouping Accessible. It should be role="group".

But intervening generics should still be ignored completely. In the case in bug 1979693, there is actually both an intervening generic and an intervening grouping.

(In reply to James Teh [:Jamie] from comment #1)

Just in case it makes any difference and this wasn't just a typo in the bug comment, role="grouping" is not valid and will result in a generic Accessible, not a grouping Accessible. It should be role="group".

ah good catch thank you! I updated #c0 to reflect this. Fortunately both generics and groups compute to AXGroup on the mac platform side, so I think the filtering code I have that uses AXRole should still function

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch
QA Whiteboard: [qa-triage-done-c145/b144]
See Also: → 2051469
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: