Closed Bug 1825611 Opened 2 years ago Closed 1 year ago

[CTW] Hit testing overflow:hidden; nodes is incorrect

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
115 Branch
Tracking Status
firefox113 --- wontfix
firefox114 --- wontfix
firefox115 --- disabled
firefox116 --- verified

People

(Reporter: morgan, Assigned: morgan)

References

(Blocks 2 open bugs)

Details

Attachments

(4 files)

STR:

  1. Load the data:text/html,<style> div div { overflow: hidden; font-family: monospace; width: 2ch; } </style><div style="display: flex; flex-direction: row-reverse;"><div>abcde</div><div>fghij</div> with CtW on
  2. Hit test "fg"

Expected: We receive "fg" as a hittest result
Actual: Hit testing reports the entire acc, including the hidden portions (fghij)

  1. Hit test "ab"

Expected: we get "ab"
Actual: we get the "fg" node

(In reply to Morgan Reschenberg [:morgan] from comment #0)

Actual: Hit testing reports the entire acc, including the hidden portions (fghij)

I don't quite get this bit. Hit testing for the acc (ChildAtPoint) reports the "fghij"text Accessible, which makes sense; we can't get any smaller than that. The client then has to call OffsetAtPoint with the point in question to determine which character it's interested in.

However, hit testing h, i or j with ChildAtPoint shouldn't report the fg Accessible.

Severity: -- → S3
Attached file Bug 1825611: Cache overflow r?Jamie (deleted) —
Attachment #9328059 - Attachment description: WIP: Bug 1825611: Cache overflow r?Jamie → Bug 1825611: Cache overflow r?Jamie
Attachment #9328060 - Attachment description: WIP: Bug 1825611: Trim bounds when hittesting overflow:hidden containers r?Jamie → Bug 1825611: Trim bounds when hittesting overflow:hidden containers r?Jamie
Attachment #9328061 - Attachment description: WIP: Bug 1825611: Ensure nodes with overflow:hidden styling always create an accessible r?Jamie → Bug 1825611: Ensure nodes with overflow:hidden styling always create an accessible r?Jamie
Attachment #9328062 - Attachment description: WIP: Bug 1825611: Add test for overflow:hidden hittesting and acc creation r?Jamie → Bug 1825611: Add test for overflow:hidden hittesting and acc creation r?Jamie
Blocks: 1828373
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/db2d550a788b Cache overflow r=Jamie https://hg.mozilla.org/integration/autoland/rev/c79ad1ee1e32 Trim bounds when hittesting overflow:hidden containers r=Jamie https://hg.mozilla.org/integration/autoland/rev/ee5e3b614f91 Ensure nodes with overflow:hidden styling always create an accessible r=Jamie https://hg.mozilla.org/integration/autoland/rev/a30a125f2aea Add test for overflow:hidden hittesting and acc creation r=Jamie

Backed out for causing multiple mochitest failures.

Flags: needinfo?(mreschenberg)
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e74c388d1a4e Cache overflow r=Jamie https://hg.mozilla.org/integration/autoland/rev/9152cb7808c2 Trim bounds when hittesting overflow:hidden containers r=Jamie https://hg.mozilla.org/integration/autoland/rev/c2d6231e9361 Ensure nodes with overflow:hidden styling always create an accessible r=Jamie https://hg.mozilla.org/integration/autoland/rev/169c3f65e1ce Add test for overflow:hidden hittesting and acc creation r=Jamie

Backed out for causing mochitests failures in accessible/tests.


  • Failure Log - ba
  • Failure line: TEST-UNEXPECTED-FAIL | accessible/tests/browser/tree/browser_general.js | Test timed out -

  • Failure Log - a11y
  • Failure line: TEST-UNEXPECTED-FAIL | accessible/tests/mochitest/actions/test_media.html | Scenario #0 of test with ID = 'name change handling' failed. 'name changed event is missed.
Flags: needinfo?(mreschenberg)
Flags: needinfo?(mreschenberg)
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/920bae37ff3e Cache overflow r=Jamie https://hg.mozilla.org/integration/autoland/rev/7e2ffdd02a98 Trim bounds when hittesting overflow:hidden containers r=Jamie https://hg.mozilla.org/integration/autoland/rev/683910281b5d Ensure nodes with overflow:hidden styling always create an accessible r=Jamie https://hg.mozilla.org/integration/autoland/rev/74462e3c7265 Add test for overflow:hidden hittesting and acc creation r=Jamie

Backed out with Bug 1828373 and Bug 1825411 for accessible failures on on /browser_general.js

[task 2023-05-03T23:03:41.235Z] 23:03:41     INFO - TEST-PASS | accessible/tests/browser/tree/browser_general.js | Wrong last child of [role: text leaf, name: 'hello world', address: [xpconnect wrapped nsIAccessible]] - 
[task 2023-05-03T23:03:41.236Z] 23:03:41     INFO - Adding overflow:hidden styling to div
[task 2023-05-03T23:03:41.236Z] 23:03:41     INFO - Buffered messages finished
[task 2023-05-03T23:03:41.237Z] 23:03:41     INFO - TEST-UNEXPECTED-FAIL | accessible/tests/browser/tree/browser_general.js | Test timed out - 
[task 2023-05-03T23:03:41.455Z] 23:03:41     INFO - GECKO(5468) | MEMORY STAT | vsize 2104178MB | vsizeMaxContiguous 66514862MB | residentFast 236MB | heapAllocated 91MB
[task 2023-05-03T23:03:41.459Z] 23:03:41     INFO - TEST-OK | accessible/tests/browser/tree/browser_general.js | took 46426ms
Flags: needinfo?(mreschenberg)
Flags: needinfo?(mreschenberg)
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/69b67a4f7465 Cache overflow r=Jamie https://hg.mozilla.org/integration/autoland/rev/f008e16e684c Trim bounds when hittesting overflow:hidden containers r=Jamie https://hg.mozilla.org/integration/autoland/rev/a819a38858ad Ensure nodes with overflow:hidden styling always create an accessible r=Jamie https://hg.mozilla.org/integration/autoland/rev/29d02d013170 Add test for overflow:hidden hittesting and acc creation r=Jamie
Regressions: 1832000
Regressed by: 1832449
No longer regressed by: 1832449
Regressions: 1832449
Regressions: 1832686

The patch landed in nightly and beta is affected.
:morgan, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.Also, don't forget to request an uplift for the patches in the regressions caused by this fix.
  • If no, please set status-firefox114 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(mreschenberg)
Flags: needinfo?(mreschenberg)
Flags: qe-verify+
Regressions: 1840200

backed out in 115 beta (115.0rc1) for causing bug 1840200 (backout patch is in bug 1840200)

I was able to reproduce the issue on Mac 12.6 using FF build 115.0, using below steps:

  1. Enable VoiceOver, In VoiceOver Utility.app > Navigation ensure "Synchronise VO focus and mouse cursor" is checked
  2. Load the provided test case
  3. Mouseover "fg" with VoiceOver enabled
    Expected:
    VO reports "fg" only
    Actual:
    VO reports all on-screen text.

Verified that issue is fixed on Mac 12.6 using FF build 116.0a1(20230627214548).

Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: