Location returned by accessibles sometimes incorrect when page zoomed

RESOLVED FIXED in mozilla13

Status

()

Core
Disability Access APIs
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: Jamie, Assigned: surkov)

Tracking

(Blocks: 2 bugs, {access, regression})

Trunk
mozilla13
x86
Windows 7
access, regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments, 1 obsolete attachment)

(Reporter)

Description

6 years ago
Sometimes, the screen location returned by accessible objects seems to be incorrect.

Str:
1. Open Google Calendar.
2. Open the Create Event page.
3. Press alt+d to move to the Location Bar, then tab a few times until focus lands on the "Mail" link.
4. Press alt+d to move to the location bar, then shift+tab a few times until focus lands on the Discard button.
5. Check the location returned by the focused accessible.
Expected: The location returned should be the location of the button on screen (inside the browser window).
Actual: The location returned is outside the browser window.

I've seen this issue in quite a few other places and it makes routing the mouse to and/or clicking these elements impossible, which is sometimes necessary. It has made some nasty sites literally unusable for me with NVDA. The example above is the easiest and most reliable to reproduce. Unfortunately, I have no idea at all what is causing this, so I haven't been able to come up with a simple, isolated test case.

This works fine in Firefox 3.6.

Comment 1

6 years ago
Jamie, can you re-test this with latest nightlies? We just recently got a bug fix in that fixes a few child/deepest child at certain locations issues.
(Reporter)

Comment 2

6 years ago
I can still reproduce as described using Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0a1) Gecko/20110502 Firefox/6.0a1

Comment 3

6 years ago
Thanks, so bug 650235 didn't fix this one.
(Assignee)

Comment 4

6 years ago
Can't reproduce with accprobe on trunk, it shows red rectangle around discard button after I do steps to reproduce. Any idea, how else I can try to see a bug?
(Assignee)

Updated

6 years ago
Blocks: 659589

Comment 5

6 years ago
Again the question: Is this maybe fixed by bug 656089?
(Assignee)

Comment 6

6 years ago
(In reply to comment #5)
> Again the question: Is this maybe fixed by bug 656089?

I have doubts because bug 656089 is about caret rect, this one is about accessible object rect, they are calculated independently.
(Reporter)

Updated

6 years ago
Blocks: 659863
(Reporter)

Comment 7

6 years ago
Created attachment 544724 [details]
Test case.

Okay. Finally figured out what's causing this particular case.

1. Open the attached test case.
2. Press control+0 to reset page zoom.
3. Check the top left of the location reported for the first paragraph accessible.
Result (correct): The point is within the paragraph.
4. Press control+= (control+equals) twice to zoom the page in.
5. Check the top left of the location reported for the first paragraph accessible.
Expected: The point should be the top left of the paragraph.
Actual: The point is in the top part of the browser chrome.
(Reporter)

Updated

6 years ago
Summary: Location returned by accessibles sometimes incorrect → Location returned by accessibles sometimes incorrect when page zoomed
(Assignee)

Comment 8

5 years ago
regression from bug 528796, lack of testsuite, again.
Assignee: nobody → surkov.alexander
Depends on: 528796
(Assignee)

Updated

5 years ago
Blocks: 528796
No longer depends on: 528796
(Assignee)

Comment 9

5 years ago
Created attachment 599142 [details] [diff] [review]
patch
Attachment #599142 - Flags: review?(marco.zehe)
Comment on attachment 599142 [details] [diff] [review]
patch

r=me with just one nit:
>+ * Return the accessible coordinates and size relative the screen.

"relative to the screen"
Attachment #599142 - Flags: review?(marco.zehe) → review+
(Assignee)

Comment 11

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/715b6b383b4d
(Assignee)

Comment 12

5 years ago
Created attachment 599495 [details] [diff] [review]
improve testing
Attachment #599495 - Flags: review?(marco.zehe)
(Assignee)

Comment 13

5 years ago
Created attachment 599506 [details] [diff] [review]
improve testing v2

updated to trunk
Attachment #599495 - Attachment is obsolete: true
Attachment #599495 - Flags: review?(marco.zehe)
Attachment #599506 - Flags: review?(marco.zehe)
Comment on attachment 599506 [details] [diff] [review]
improve testing v2

r=me, veeery nice!
Attachment #599506 - Flags: review?(marco.zehe) → review+
(Assignee)

Comment 15

5 years ago
test landed https://hg.mozilla.org/integration/mozilla-inbound/rev/499846502bf3
(Assignee)

Updated

5 years ago
Blocks: 727942
https://hg.mozilla.org/mozilla-central/rev/bde8c5a15988

(Leaving open for test to merge)
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla13
https://hg.mozilla.org/mozilla-central/rev/715b6b383b4d
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
I'm confused, there was another cset with this bug number (comment 17), but it's not the test.

Reopening; suspect wrong bug number in commit message for one of them - can I leave you to sort please?
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Comment 19

5 years ago
(In reply to Ed Morley [:edmorley] from comment #18)
> I'm confused, there was another cset with this bug number (comment 17), but
> it's not the test.
> 
> Reopening; suspect wrong bug number in commit message for one of them - can
> I leave you to sort please?

there are three landings here
1) original patch + mochitest (central)
2) disabled test because mochitest of original patch failed (central)
3) improved test (inbound)

so this changeset was #2 (no patch is attached here).
(In reply to alexander :surkov from comment #19)
> (no patch is attached here).

Ah - thank you :-)

https://hg.mozilla.org/mozilla-central/rev/499846502bf3
Status: REOPENED → RESOLVED
Last Resolved: 5 years ago5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.