[wpt-sync] Sync PR 37766 - Fix focus traversal for self-referential invoker
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox110 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 37766 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/37766
Details from upstream follow.
Mason Freed <masonf@chromium.org> wrote:
Fix focus traversal for self-referential invoker
In the case that a popover contains an invoker that points back to that
invoker, the tab navigation code used to get confused. E.g.:\<div id="menu" popover> \<button autofocus popoverhidetarget="menu">Button #1\</button> \<button popoverhidetarget="menu">Button #2\</button> \</div>In this case, trying to tab between the first and second button would
break because the second button appeared to be an invoker for a new
popover, when in reality it was an invoker for the same popover.Fixed: 1399601
Bug: 1307772
Change-Id: I276370d7c8eee0dd32f0c89da202a0d3777bf911
Reviewed-on: https://chromium-review.googlesource.com/4133482
WPT-Export-Revision: a1a5acb28b3b44055b5285c42e4109e06ebcff8f
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
| Assignee | ||
Comment 3•3 years ago
|
||
CI Results
Ran 10 Firefox configurations based on mozilla-central, and Firefox, and Chrome on GitHub CI
Total 2 tests and 24 subtests
Status Summary
Firefox
OK : 1
FAIL : 25
ERROR: 1
Chrome
OK : 2
PASS : 14
FAIL : 13
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /html/semantics/popovers/popover-focus-2.tentative.html [wpt.fyi]
- Popover focus navigation:
FAIL(Chrome:FAIL) - Circular reference tab navigation:
FAIL(Chrome:FAIL) - Popover focus returns when popover is hidden by invoker:
FAIL(Chrome:FAIL)
- Popover focus navigation:
- /html/semantics/popovers/popover-light-dismiss.tentative.html [wpt.fyi]:
ERROR(Chrome:OK)- Clicking outside a popover will dismiss the popover:
FAIL(Chrome:PASS) - Canceling pointer events should not keep clicks from light dismissing popovers:
FAIL(Chrome:PASS) - Clicking inside a popover does not close that popover:
FAIL(Chrome:PASS) - Popovers close on pointerup, not pointerdown:
FAIL(Chrome:FAIL) - Synthetic events can't close popovers:
FAIL(Chrome:FAIL) - Moving focus outside the popover should not dismiss the popover:
FAIL(Chrome:FAIL) - Clicking inside a child popover shouldn't close either popover:
FAIL(Chrome:FAIL) - Clicking inside a parent popover should close child popover:
FAIL(Chrome:FAIL) - Clicking on invoking element, after using it for activation, shouldn't close its popover:
FAIL(Chrome:PASS) - Clicking on invoking element, after using it for activation, shouldn't close its popover (nested case):
FAIL(Chrome:PASS) - Clicking on invoking element, after using it for activation, shouldn't close its popover (nested case, not used for invocation):
FAIL(Chrome:PASS) - Clicking on invoking element, even if it wasn't used for activation, shouldn't close its popover:
FAIL(Chrome:PASS) - Clicking on popovertoggletarget element, even if it wasn't used for activation, should hide it exactly once:
FAIL(Chrome:PASS) - Clicking on anchor element (that isn't an invoking element) shouldn't prevent its popover from being closed:
FAIL(Chrome:FAIL) - Dragging from an open popover outside an open popover should leave the popover open:
FAIL(Chrome:FAIL) - A popover inside an invoking element doesn't participate in that invoker's ancestor chain:
FAIL(Chrome:FAIL) - An invoking element that was not used to invoke the popover can still be part of the ancestor chain:
FAIL(Chrome:FAIL) - Scrolling within a popover should not close the popover:
FAIL(Chrome:FAIL) - Moving focus back to the anchor element should not dismiss the popover:
FAIL(Chrome:PASS) - Ensure circular/convoluted ancestral relationships are functional:
FAIL(Chrome:PASS) - Ensure circular/convoluted ancestral relationships are functional, with a direct showPopover():
FAIL(Chrome:PASS) - Hide the target popover during "hide all popovers until":
FAIL(Chrome:PASS)
- Clicking outside a popover will dismiss the popover:
Comment 5•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/a31c361a5d0e
https://hg.mozilla.org/mozilla-central/rev/148c1d9eae32
Description
•