Closed Bug 310921 Opened 19 years ago Closed 19 years ago

AccessibleObjectFromPoint gives wrong object in some cases when text object is incorrectly not exposed

Categories

(Firefox :: Disability Access, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tim.mchyde, Assigned: aaronlev)

References

()

Details

(Keywords: access, fixed1.8)

Attachments

(5 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b5) Gecko/20050928 Firefox/1.4
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b5) Gecko/20050928 Firefox/1.4

AccessibleObjectFromPoint impl via IAccessible::accHitTest

Reproducible: Always

Steps to Reproduce:
Load this html into the latest FF 1.5 nightly and use your tester to get the
accessible object and rectangle as you move your mouse over each part of the
text and you'll see for the right half of the 2nd line it gives the rectangle
for the previou bold part..until you move to the next line of the non-bold part
where it finally figures out the right accessible/rectangle.

<div style="width:600">This part works fine right here <b>and this part works
fine in bold but keep going  to the right where this bold ends and </b>
GetAccessibleFromPoint here gives wrong node for previous bold part. but here
after the line wraps it gets the correct accessible node and rect.</div>
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attached file Tim's testcase
Assignee: nobody → aaronleventhal
Status: NEW → ASSIGNED
Attachment #198312 - Flags: superreview?(roc)
Attachment #198312 - Flags: review?(roc)
Comment on attachment 198312 [details] [diff] [review]
Use frame bounds checks instead of smallest area algorithm to find appropriate accessible in cases where they have overlapping bounds.. Also cleans up some code.

r=mkaply
Attachment #198312 - Flags: review?(roc) → review+
Flags: blocking1.8b5?
Whiteboard: [ Need sr= and approval. This partially breaks magnication apps ]
Comment on attachment 198312 [details] [diff] [review]
Use frame bounds checks instead of smallest area algorithm to find appropriate accessible in cases where they have overlapping bounds.. Also cleans up some code.

Given that the nsEnumRuleAccessible changes are part of a different patch,
sr=dbaron.
Attachment #198312 - Flags: superreview?(roc) → superreview+
Attachment #198312 - Flags: approval1.8b5?
Whiteboard: [ Need sr= and approval. This partially breaks magnication apps ] → [ Need approval. This partially breaks magnification apps ]
Attachment #198312 - Flags: approval1.8b5? → approval1.8b5+
Keywords: access, fixed1.8
Flags: blocking1.8b5?
Whiteboard: [ Need approval. This partially breaks magnification apps ]
I'm not sure why this bug is left open after all this time since I thought it was fixed, but its good it was.  I'm seeing a new case of it on this page with my tester app linked above in both 1.5 RC2 and deer park 1.6a1:

http://askelm.com/tithing/thi005.htm

In the 2nd to last paragraph, if you wave the mouse over the words italicized words "free will contributions" at the end of the 4th line you will get the object for the previous half of the line ending with the words "was supported solely (at first) by".  If you move to the 5th line and beyond in this paragraph you get an Accessible object but it will not QI for ISimpleDOMText, which is an error.
Tim, I see the latest problem. I recommend attaching a simplified testcase.
Attached file html page test case
As a simpler test case steps are to try to wave your mouse over the John 3:16 in this html page and like the other case Aaron was able to see this one wont give the right node.
Blocks: fox2access
Attachment #219901 - Flags: superreview?(roc)
Attachment #219901 - Flags: review?(ginn.chen)
Attachment #219901 - Flags: review?(ginn.chen) → review+
Attachment #219901 - Flags: superreview?(roc) → superreview+
Attachment #219901 - Flags: approval-branch-1.8.1?
Attachment #219901 - Flags: approval-branch-1.8.1? → approval-branch-1.8.1?(ginn.chen)
It's even worse than the original summary says -- changing it to reflect that.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Summary: AccessibleObjectFromPoint gives wrong object for right half of line → AccessibleObjectFromPoint gives wrong object in some cases when text object is incorrectly not exposed
Attachment #219901 - Flags: approval-branch-1.8.1?(ginn.chen) → approval-branch-1.8.1+
Checked into 1.8: attachment 219901 [details] [diff] [review] "Text starting at the end of a line has a 0 width rect for first frame but isn't invisible"
The last test case is verified as fixed, but the first test case still fails. 

After simplifying it I discovered it was due to some strange HTML markup: a DL tag without a DT tag, just used to indent apparently. With that DL tag there, you cannot get the correct node for the words in italics ("free will offerings", "free will contributions"). If you take it out, the italics nodes work fine.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Please open a new bug specifically about each case. Makes things easier for devs and QA.
Status: REOPENED → RESOLVED
Closed: 19 years ago19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: