Summary: | Focus and caret position should be updated when same-page links are followed | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Joanmarie Diggs <jdiggs> | ||||
Component: | Accessibility | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED DUPLICATE | ||||||
Severity: | Normal | CC: | cfleizach, cgarcia, eric, mario, xan.lopez | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | Linux | ||||||
URL: | http://wikipedia.org | ||||||
Bug Depends on: | 62008 | ||||||
Bug Blocks: | 25531, 17450 | ||||||
Attachments: |
|
Description
Joanmarie Diggs
2011-04-28 14:17:27 PDT
Looks like we could make the most of the GTK-specific method we have in AXObjectCacheAtk.cpp, called handleScrolledToAnchor(), which seems to fit pretty well in this case. I'll try to come up with a patch for this soon. Created attachment 92239 [details]
Patch proposal + Layout test
Patch proposal + layout test.
The implemented behaviour is specific to the GTK port.
Thanks Mario! I'll build and test it soon. In the meantime, bug 17450 was just pointed out to me. It sounds quite similar to what I reported here. (I really did search and browse prior to filing. Honest! :-) ) Anyhoo, if this is a cross-platform issue, is a single cross-platform solution possible? (In reply to comment #3) > Thanks Mario! I'll build and test it soon. In the meantime, bug 17450 was just pointed out to me. It sounds quite similar to what I reported here. (I really did search and browse prior to filing. Honest! :-) ) Anyhoo, if this is a cross-platform issue, is a single cross-platform solution possible? Sure! I just used that platform-specific method because it was exactly what I wanted to do for WebKitGTK, but I don't see much trouble in moving it to the general AXObjectCache code. I'll comment on bug 17450 Seems like kinda an odd AX feature, but gtk should do whatever works for Gtk... Comment on attachment 92239 [details] Patch proposal + Layout test View in context: https://bugs.webkit.org/attachment.cgi?id=92239&action=review Okay! Seems sane. > Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp:228 > + Position targetPosition = firstPositionInOrBeforeNode(const_cast<Node*>(node)); > + selection->moveTo(targetPosition, DOWNSTREAM); This seems simple enough to make into one line. Please change before landing. (In reply to comment #6) > (From update of attachment 92239 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=92239&action=review > > Okay! Seems sane. > > > Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp:228 > > + Position targetPosition = firstPositionInOrBeforeNode(const_cast<Node*>(node)); > > + selection->moveTo(targetPosition, DOWNSTREAM); > > This seems simple enough to make into one line. Please change before landing. Done. Committed r88004: <http://trac.webkit.org/changeset/88004> This patch caused some patches to start failing, so I've rolled it out: https://bugs.webkit.org/show_bug.cgi?id=62008 Btw, those patches only fail if running the accessibility layout tests before: run-webkit-tests --gtk --debug accessibility fast/block/float/float-in-float-hit-testing.html fast/css/target-fragment-match.html t/dynamic/anchor-lock.html fast/overflow/overflow_hidden.html svg/custom/scrolling-embedded-svg-file-image-repaint-problem.html ...so it could be some interdependency issue among tests, triggered perhaps by the layout test in this bug. Hence, reopening... Comment on attachment 92239 [details]
Patch proposal + Layout test
Obsoleting bug and clearing flags
|