Closed Bug 1620324 Opened 4 years ago Closed 3 years ago

VoiceOver expects sub-group between HTML Content node and web content

Categories

(Core :: Disability Access APIs, defect, P1)

All
macOS
defect

Tracking

()

RESOLVED FIXED
82 Branch
Tracking Status
firefox82 --- fixed

People

(Reporter: morgan, Assigned: eeejay)

References

Details

(Whiteboard: [mac2020_1])

Attachments

(2 files, 2 obsolete files)

STR:

  1. Load the following test case: data:text/html,<div>hello<button>world</button>this is more text</div>
  2. Launch VoiceOver
  3. Enter web content

Expected:
VO says "hello"

Actual:
VO doesn't speak

  1. Move VO cursor next with VO+right arrow

Expected:
VO says "world" and VO cursor moves to button

Actual:
VO says "world" but cursor stays on "hello", button has focus outline

Chrome does the first Expected but not the second
Safari matches our behaviour

Whiteboard: [mac_2020_1]
Priority: -- → P3
Priority: P3 → P1
Assignee: nobody → mreschenberg
Whiteboard: [mac_2020_1] → [mac2020_1]
Severity: normal → S3
Summary: VoiceOver cursor moves incorrectly when navigating text followed by button → VoiceOver expects sub-group between web area and web content

Given this test case, data:text/html,hello, both Chrome and Safari structure their trees with a group between their web area and web content:

HTML Content > AXGroup > hello (text)

We structure ours:

HTML content > hello (text)

For some reason, when VO enters a content area, it "next"s, causing us to skip the first node. We should insert this pseudogroup as a child of our HTML content to match Safari and Chrome.

Summary: VoiceOver expects sub-group between web area and web content → VoiceOver expects sub-group between HTML Content node and web content

ni'ing you to see if you have thoughts as to what kind of object this group should live on

Flags: needinfo?(eitan)
Attachment #9163829 - Attachment is obsolete: true
Priority: P1 → P2
Assignee: mreschenberg → eitan
Flags: needinfo?(eitan)
Priority: P2 → P1

When a doc does not have top-level DOM group, or consists of a single leaf,
we need to insert a generated root group. The rotor API expects this and uses
it for boundary detection.

Depends on: 1665200
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2ee894a67a93
Part 1: Add mac accessible intermediate root group when needed. r=morgan
https://hg.mozilla.org/integration/autoland/rev/ea2f00c4049e
Part 2: Make rotor API work with generated root group. r=morgan
Pushed by dluca@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/770edab72eb0
Build breakage followup. r=dluca. CLOSED TREE
Backout by dluca@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2298115ed439
Backed out changeset 770edab72eb0 for XPCshell failures. CLOSED TREE
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1996cd1fd7a6
Part 1: Add mac accessible intermediate root group when needed. r=morgan
https://hg.mozilla.org/integration/autoland/rev/59fd9216fd81
Part 2: Make rotor API work with generated root group. r=morgan
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
Flags: needinfo?(eitan)
Attachment #9176153 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.