| Summary: | AX: event.target should sometimes be a descendant element on AXPress-triggered mouse clicks | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | James Craig <jcraig> | ||||||||
| Component: | Accessibility | Assignee: | chris fleizach <cfleizach> | ||||||||
| Status: | RESOLVED FIXED | ||||||||||
| Severity: | Normal | CC: | aboxhall, apinheiro, cfleizach, commit-queue, dino, dmazzoni, jcraig, jdiggs, mario, samuel_white, webkit-bug-importer | ||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||
| Version: | 528+ (Nightly build) | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| Bug Depends on: | 131426 | ||||||||||
| Bug Blocks: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
James Craig
2014-08-06 22:26:01 PDT
Looks like at least part of this was done in bug 131426. I'll try to attach a test case where it doesn't work. Created attachment 236174 [details]
test case
In the attached test case, the second clickable element (image inside button) is trigger by AXPress, but the first clickable element (span inside link) is only clickable with the mouse, not AXPress. Created attachment 236176 [details]
updated test case
updated test case logs the event target and includes some failure cases to ensure we don't click things that are positioned over the top of the element in the VO cursor.
Might need to ignore any child that does not accept pointer events via CSS. See bug 11395 and Dean's write-up: http://www.webkit.org/specs/PointerEventsProperty.html Created attachment 243353 [details]
patch
Note: I did not cover the cases in your original test case about the intercepting view. We have code specifically to fall back to the original element if we hit-test to a non-descendant. I'm worried about removing that code. Comment on attachment 243353 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=243353&action=review > LayoutTests/accessibility/press-target-uses-text-descendant-node.html:21 > + .target { > + background-color: yellow; > + } Nit: this looks misaligned |