[wpt-sync] Sync PR 61351 - Fix sequential focus starting point for slot elements
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox155 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 61351 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/61351
Details from upstream follow.
Joey Arhar <jarhar@chromium.org> wrote:
Fix sequential focus starting point for slot elements
This patch fixes the resulting sequential focus starting point in the case that the currently focused element is being slotted and then gets removed. Without this patch, sequential focus gets reset to the start of the document, and with this patch it goes to the next element it would have gone to if the element never got removed.
This fix makes us match the behavior in firefox and safari.
Also fixed a crash in FixupRemovedNodeAcrossShadowBoundary by checking if the node being removed is immediately before the range boundary.
Fixed: 512749482
Change-Id: I9a997ea269ebcac69270a5bc9bf63957148e79a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7853014
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Reviewed-by: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1658892}
Manual export of https://crrev.com/c/7853014, which could not be applied cleanly on ec4f7f1772cb82f16080807b1bc230083027f46f.
| Assignee | ||
Updated•6 days ago
|
| Assignee | ||
Comment 1•6 days ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=f67ed742431f5974c292d9aab686a5c01b0dfec4
| Assignee | ||
Comment 2•6 days ago
|
||
CI Results
Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 195 tests
Status Summary
Firefox
OK : 1[GitHub] 190[Gecko-linux2404-64-debug] 191[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS : 2[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 19[GitHub] 434[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 435[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 436[Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
FAIL : 308[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt] 309[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
Chrome
OK : 1
PASS : 15
FAIL : 4
Safari
PASS : 10
FAIL : 9
ERROR: 1
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /html/interaction/focus/processing-model/legend-focusable.html [wpt.fyi]:
SKIP - /html/interaction/focus/document-level-focus-apis/document-has-system-focus.html [wpt.fyi]:
OK[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],SKIP[Gecko-linux2404-64-debug] - /html/interaction/focus/focus-management/focus-event-targets-simple.html [wpt.fyi]
- Focus events fire at correct targets in correct order in simple case:
FAIL
- Focus events fire at correct targets in correct order in simple case:
- /html/interaction/focus/focusgroup/tentative/ax-role-inference-children.html [wpt.fyi]
- Tablist child gets implied tab role:
FAIL - Radiogroup child gets implied radio role:
FAIL - Listbox child gets implied option role:
FAIL - Menu child gets implied menuitem role:
FAIL - Menubar child gets implied menuitem role:
FAIL - Button child gets implied tab role in tablist:
FAIL - Button child gets implied radio role in radiogroup:
FAIL - Button child gets implied menuitem role in menu:
FAIL - Button child gets implied menuitem role in menubar:
FAIL - Popup button child gets implied menuitem role in menu:
FAIL - Popup button child gets implied menuitem role in menubar:
FAIL - Popup button child gets implied tab role in tablist:
FAIL - Popup button child gets implied radio role in radiogroup:
FAIL - Popup button with aria-haspopup=listbox gets implied menuitem role in menubar:
FAIL - Popup button with aria-haspopup=dialog gets implied menuitem role in menubar:
FAIL
- Tablist child gets implied tab role:
- /html/interaction/focus/focusgroup/tentative/ax-role-inference-top-layer.html [wpt.fyi]
- Sibling outside the popover still infers the implied tab role:
FAIL
- Sibling outside the popover still infers the implied tab role:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/horizontal/moves-when-only-current-axis-supported.html [wpt.fyi]
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
FAIL
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/horizontal/wraps-in-axis.html [wpt.fyi]
- When the focus is set on the first item of a focusgroup that wraps and supports only the axis of the directional input, backward directional input should move the focus to the last item within the focusgroup.:
FAIL
- When the focus is set on the first item of a focusgroup that wraps and supports only the axis of the directional input, backward directional input should move the focus to the last item within the focusgroup.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/moves-to-previous-item-and-skips-focusable-item.html [wpt.fyi]
- When the focus is set on a focusgroup item, directional input should move the focus to the previous item and skip non-focusable items.:
FAIL
- When the focus is set on a focusgroup item, directional input should move the focus to the previous item and skip non-focusable items.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/moves-to-previous-item.html [wpt.fyi]
- When the focus is set on a focusgroup item, directional input should move the focus to the previous item.:
FAIL
- When the focus is set on a focusgroup item, directional input should move the focus to the previous item.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/skips-non-focusgroup-subtree.html [wpt.fyi]
- When the focus is set on the last item of a focusgroup and the previous item is located past a non-focusgroup subtree, backward directional input should move the focus to that previous item without getting stuck in the subtree.:
FAIL
- When the focus is set on the last item of a focusgroup and the previous item is located past a non-focusgroup subtree, backward directional input should move the focus to that previous item without getting stuck in the subtree.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/skips-root-focusgroup-complex-case.html [wpt.fyi]
- When the focus is set on the last item of a focusgroup and the previous item is located past an other (non-extending) focusgroup subtree, backward directional input should move the focus to that previous item without getting stuck in the other focusgroup. The same should still be true when inside a focusgroup that extends a root focusgroup within the original focusgroup.:
FAIL
- When the focus is set on the last item of a focusgroup and the previous item is located past an other (non-extending) focusgroup subtree, backward directional input should move the focus to that previous item without getting stuck in the other focusgroup. The same should still be true when inside a focusgroup that extends a root focusgroup within the original focusgroup.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/skips-root-focusgroup.html [wpt.fyi]
- When the focus is set on the last item of a focusgroup and the previous item is located past an other focusgroup subtree, backward directional input should move the focus to that previous item without getting stuck in the other focusgroup.:
FAIL
- When the focus is set on the last item of a focusgroup and the previous item is located past an other focusgroup subtree, backward directional input should move the focus to that previous item without getting stuck in the other focusgroup.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/vertical/moves-when-only-current-axis-supported.html [wpt.fyi]
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
FAIL
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/vertical/wraps-in-axis.html [wpt.fyi]
- When the focus is set on the first item of a focusgroup that wraps and supports only the axis of the directional input, backward directional input should move the focus to the last item within the focusgroup.:
FAIL
- When the focus is set on the first item of a focusgroup that wraps and supports only the axis of the directional input, backward directional input should move the focus to the last item within the focusgroup.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/wraps-successfully-complex-case.html [wpt.fyi]
- When the focus is set on the first item of an extending focusgroup while there are other non-item elements before, we should still be able to wrap to the last item. Also, if the last item has other non-item elements after itself, skipping these non-item elements shouldn't be an issue.:
FAIL
- When the focus is set on the first item of an extending focusgroup while there are other non-item elements before, we should still be able to wrap to the last item. Also, if the last item has other non-item elements after itself, skipping these non-item elements shouldn't be an issue.:
- /html/interaction/focus/focusgroup/tentative/backward-navigation/wraps-successfully.html [wpt.fyi]
- When the focus is set on the first item of a focusgroup that wraps, backward directional input should move the focus to the last item within the focusgroup.:
FAIL
- When the focus is set on the first item of a focusgroup that wraps, backward directional input should move the focus to the last item within the focusgroup.:
- /html/interaction/focus/focusgroup/tentative/behavior-first-requirement.html [wpt.fyi]
- Valid behavior-first token 'toolbar' enables focusgroup navigation:
FAIL - Valid behavior-first token 'tablist' with modifier enables focusgroup navigation:
FAIL - Valid behavior-first token 'radiogroup' with modifier enables focusgroup navigation:
FAIL
- Valid behavior-first token 'toolbar' enables focusgroup navigation:
- /html/interaction/focus/focusgroup/tentative/behavior-token-anywhere.html [wpt.fyi]
- Behavior token after a modifier enables focusgroup navigation:
FAIL - Unrecognized token before behavior token does not prevent focusgroup:
FAIL - Modifier before behavior token applies correctly (wrap works):
FAIL
- Behavior token after a modifier enables focusgroup navigation:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/grid.html [wpt.fyi]
- grid: Right moves to next column:
FAIL - grid: Left moves to previous column:
FAIL - grid: Down moves to same column next row:
FAIL - grid: Up moves to same column previous row:
FAIL
- grid: Right moves to next column:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/listbox.html [wpt.fyi]
- listbox: Down navigates to the next item:
FAIL - listbox: Up navigates to the previous item:
FAIL - listbox wrap: Down navigates to the next item:
FAIL - listbox wrap: Down wraps at end:
FAIL - listbox wrap: Up wraps at start:
FAIL
- listbox: Down navigates to the next item:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/menu.html [wpt.fyi]
- menu: Down navigates to the next item:
FAIL - menu: Up navigates to the previous item:
FAIL - menu: Down wraps at end:
FAIL - menu: Up wraps at start:
FAIL - menu inline: Right navigates to the next item:
FAIL - menu inline: Left navigates to the previous item:
FAIL - menu inline: Right wraps at end:
FAIL - menu inline: Left wraps at start:
FAIL - menu nowrap: Down navigates to the next item:
FAIL
- menu: Down navigates to the next item:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/menubar.html [wpt.fyi]
- menubar: Right navigates to the next item:
FAIL - menubar: Left navigates to the previous item:
FAIL - menubar: Right wraps at end:
FAIL - menubar: Left wraps at start:
FAIL
- menubar: Right navigates to the next item:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/radiogroup.html [wpt.fyi]
- radiogroup: Right navigates to the next item:
FAIL - radiogroup: Left navigates to the previous item:
FAIL - radiogroup: Down navigates to the next item:
FAIL - radiogroup: Up navigates to the previous item:
FAIL - radiogroup: Right wraps at end:
FAIL - radiogroup: Left wraps at start:
FAIL - radiogroup: Down wraps at end:
FAIL - radiogroup: Up wraps at start:
FAIL - radiogroup inline: Right navigates to the next item:
FAIL - radiogroup inline: Right wraps at end:
FAIL - radiogroup nowrap: Right navigates to the next item:
FAIL
- radiogroup: Right navigates to the next item:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/tablist.html [wpt.fyi]
- tablist: Right navigates to the next item:
FAIL - tablist: Left navigates to the previous item:
FAIL - tablist: Right wraps at end:
FAIL - tablist: Left wraps at start:
FAIL - tablist block: Down navigates to the next item:
FAIL - tablist block: Up navigates to the previous item:
FAIL - tablist block: Down wraps at end:
FAIL - tablist block: Up wraps at start:
FAIL - tablist nowrap: Right navigates to the next item:
FAIL - tablist nowrap: Left navigates to the previous item:
FAIL
- tablist: Right navigates to the next item:
- /html/interaction/focus/focusgroup/tentative/behavior-tokens/toolbar.html [wpt.fyi]
- toolbar: Right navigates to the next item:
FAIL - toolbar: Left navigates to the previous item:
FAIL - toolbar wrap: Right navigates to the next item:
FAIL - toolbar wrap: Right wraps at end:
FAIL - toolbar wrap: Left wraps at start:
FAIL
- toolbar: Right navigates to the next item:
- /html/interaction/focus/focusgroup/tentative/descendant-navigation/deeply-nested-items.html [wpt.fyi]
- Forward navigation should work with deeply nested focusgroup descendants:
FAIL - Backward navigation should work with deeply nested focusgroup descendants:
FAIL - Vertical navigation should work with nested descendants:
FAIL
- Forward navigation should work with deeply nested focusgroup descendants:
- /html/interaction/focus/focusgroup/tentative/descendant-navigation/mixed-content-navigation.html [wpt.fyi]
- Navigation should skip non-focusable descendants and only move between focusable items:
FAIL - Backward navigation should skip non-focusable descendants:
FAIL - Vertical navigation should work correctly with mixed focusable/non-focusable content:
FAIL
- Navigation should skip non-focusable descendants and only move between focusable items:
- /html/interaction/focus/focusgroup/tentative/descendant-navigation/simple-descendant-test.html [wpt.fyi]
- Simple descendant navigation should work:
FAIL
- Simple descendant navigation should work:
- /html/interaction/focus/focusgroup/tentative/descendant-navigation/various-element-types.html [wpt.fyi]
- Navigation should work with items in various container types:
FAIL - Backward navigation should work with various container types:
FAIL - Vertical navigation should work with various container types:
FAIL
- Navigation should work with items in various container types:
- /html/interaction/focus/focusgroup/tentative/descendant-navigation/wrapping-with-descendants.html [wpt.fyi]
- Forward wrapping should work from nested descendants to first item:
FAIL - Backward wrapping should work from first item to nested descendants:
FAIL - Normal navigation should still work correctly with nested items:
FAIL - Vertical wrapping should work correctly with nested descendants:
FAIL
- Forward wrapping should work from nested descendants to first item:
- /html/interaction/focus/focusgroup/tentative/focusgroupstart-basic.html [wpt.fyi]
- Tab enters at focusgroupstart and exits the focusgroup:
FAIL - Shift+Tab enters at focusgroupstart and exits the focusgroup:
FAIL - focusgroupstart on shadow host: Tab enters at start element:
FAIL - focusgroupstart on shadow host: Shift+Tab enters at start element:
FAIL - focusgroupstart on shadow host: forward arrow navigation works:
FAIL - focusgroupstart on shadow host: backward arrow navigation works:
FAIL - Empty shadow-host item is skipped; Tab enters at focusgroupstart:
FAIL
- Tab enters at focusgroupstart and exits the focusgroup:
- /html/interaction/focus/focusgroup/tentative/focusgroupstart-scope-owners.html [wpt.fyi]
- Popover invoker: Shift+Tab from manual popover skips non-entry invoker:
FAIL
- Popover invoker: Shift+Tab from manual popover skips non-entry invoker:
- /html/interaction/focus/focusgroup/tentative/focusgroupstart-tree-pattern.html [wpt.fyi]
- Slotted focusgroupstart in tree: Tab enters at start element:
FAIL - Slotted focusgroupstart in tree: Shift+Tab enters at start element:
FAIL - Slotted focusgroupstart in tree: arrow navigation works:
FAIL - Slotted focusgroupstart in tree: Tab exits to next element:
FAIL - Slotted focusgroupstart in tree: Shift+Tab exits without stopping on host:
FAIL
- Slotted focusgroupstart in tree: Tab enters at start element:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/horizontal/moves-when-only-current-axis-supported.html [wpt.fyi]
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
FAIL
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/horizontal/rtl-inline-only.html [wpt.fyi]
- Left moves forward in RTL inline-only focusgroup.:
FAIL - Right moves backward in RTL inline-only focusgroup.:
FAIL
- Left moves forward in RTL inline-only focusgroup.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/mixed-ltr-rtl-visual-order.html [wpt.fyi]
- LTR container: Left (forward in RTL) from item1 moves to item2.:
FAIL - LTR container: Left (forward in RTL) from item2 crosses to LTR item3.:
FAIL - LTR container: Right (backward in RTL) from item2 moves to item1.:
FAIL - LTR container: Right from LTR item3 moves to item4.:
FAIL - LTR container: Right from LTR item4 moves to item5.:
FAIL - LTR container: Left from LTR item5 moves to item4.:
FAIL - LTR container: Left from LTR item3 crosses back to RTL item2.:
FAIL - RTL container: Left (forward in RTL) from r1 moves to LTR r2.:
FAIL - RTL container: Right (forward in LTR) from r2 moves to r3.:
FAIL - RTL container: Left (backward in LTR) from r2 moves to r1.:
FAIL - RTL container: Left (backward in LTR) from r3 moves to r2.:
FAIL
- LTR container: Left (forward in RTL) from item1 moves to item2.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/moves-to-next-item-and-skips-non-focusable.html [wpt.fyi]
- When the focus is set on a focusgroup item, directional input should move the focus to the next item and skip non-focusable items.:
FAIL
- When the focus is set on a focusgroup item, directional input should move the focus to the next item and skip non-focusable items.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/moves-to-next-item.html [wpt.fyi]
- When the focus is set on a focusgroup item, directional input should move the focus to the next item.:
FAIL
- When the focus is set on a focusgroup item, directional input should move the focus to the next item.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/nested-focusgroup-is-item-of-parent.html [wpt.fyi]
- Right navigates TO nested focusgroup element:
FAIL - Left navigates TO nested focusgroup element:
FAIL - Right from nested focusgroup navigates to next sibling in parent focusgroup:
FAIL - Left from nested focusgroup navigates to previous sibling in parent focusgroup:
FAIL - Full bidirectional navigation through outer focusgroup includes nested focusgroup element but skips its contents:
FAIL - Inner focusgroup navigation works independently:
FAIL
- Right navigates TO nested focusgroup element:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/rtl-direction-reverses-inline.html [wpt.fyi]
- Left moves focus to the next item in an RTL focusgroup.:
FAIL - Right moves focus to the previous item in an RTL focusgroup.:
FAIL - Down moves focus forward in an RTL focusgroup (block axis unaffected).:
FAIL - Up moves focus backward in an RTL focusgroup (block axis unaffected).:
FAIL
- Left moves focus to the next item in an RTL focusgroup.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/rtl-wraps-correctly.html [wpt.fyi]
- Left at last item wraps to first item in RTL focusgroup.:
FAIL - Right at first item wraps to last item in RTL focusgroup.:
FAIL
- Left at last item wraps to first item in RTL focusgroup.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/vertical/moves-when-only-current-axis-supported.html [wpt.fyi]
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
FAIL
- When the focus is set on an item of a focusgroup that only supports the axis of the directional input the focus should move.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/vertical-writing-mode.html [wpt.fyi]
- Down moves forward inline in vertical-rl inline-only focusgroup.:
FAIL - Up moves backward inline in vertical-rl inline-only focusgroup.:
FAIL - Down moves forward in both-axes vertical-rl focusgroup.:
FAIL - Left moves forward (block) in both-axes vertical-rl focusgroup.:
FAIL
- Down moves forward inline in vertical-rl inline-only focusgroup.:
- /html/interaction/focus/focusgroup/tentative/forward-navigation/wraps-successfully.html [wpt.fyi]
- When the focus is set on the last item of a focusgroup that supports wrapping in the axis of the directional input, the focus should move back to the first item.:
FAIL
- When the focus is set on the last item of a focusgroup that supports wrapping in the axis of the directional input, the focus should move back to the first item.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/col-flow-only.html [wpt.fyi]
- When on the last row, navigating down should move the focus to first row and next column if the focusgroup flows horizontally.:
FAIL - When on the first row, navigating up should move the focus to last row and previous column if the focusgroup flows horizontally.:
FAIL
- When on the last row, navigating down should move the focus to first row and next column if the focusgroup flows horizontally.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/col-wrap-and-row-flow.html [wpt.fyi]
- When on the last column, navigating right should move the focus to first column and next row if the focusgroup flows horizontally.:
FAIL - When on the last row, navigating down should move the focus to first row if the focusgroup wraps vertically.:
FAIL - When on the first column, navigating left should move the focus to last column and previous row if the focusgroup flows horizontally.:
FAIL - When on the first row, navigating up should move the focus to last row if the focusgroup wraps vertically.:
FAIL
- When on the last column, navigating right should move the focus to first column and next row if the focusgroup flows horizontally.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/col-wrap-only.html [wpt.fyi]
- When on the last row, navigating down should move the focus to first row if the focusgroup wraps vertically.:
FAIL - When on the first row, navigating up should move the focus to last row if the focusgroup wraps vertically.:
FAIL
- When on the last row, navigating down should move the focus to first row if the focusgroup wraps vertically.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/colspan.html [wpt.fyi]
- Navigating right should move the focus to the next column, dealing correctly with colspans.:
FAIL - Navigating down should move the focus to the right cell on the next row, dealing correctly with colspans.:
FAIL - Navigating left should move to the previous column, dealing correctly with the colspans.:
FAIL - Navigating up should move the focus to the right cell on the previous row, dealing correctly with colspans.:
FAIL
- Navigating right should move the focus to the next column, dealing correctly with colspans.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/css-table.html [wpt.fyi]
- Tests that grid focusgroups also work on CSS tables (i.e.: 'display: table'). The implementation relies on the layout objects, so the other tests that covers HTML tables don't need to be duplicated to test the same cases with CSS tables.:
FAIL
- Tests that grid focusgroups also work on CSS tables (i.e.: 'display: table'). The implementation relies on the layout objects, so the other tests that covers HTML tables don't need to be duplicated to test the same cases with CSS tables.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/empty-spaces.html [wpt.fyi]
- Navigating right should move the focus to the next column, dealing correctly with the empty spaces.:
FAIL - Navigating down should move the focus to the right cell on the next row, dealing correctly with empty spaces.:
FAIL - Navigating left should move to the previous column, dealing correctly with the empty spaces.:
FAIL - Navigating up should move the focus to the right cell on the previous row, dealing correctly with empty spaces.:
FAIL
- Navigating right should move the focus to the next column, dealing correctly with the empty spaces.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/flows-in-both-axes.html [wpt.fyi]
- When on the last column, navigating right should move the focus to first column and next row if the focusgroup flows horizontally.:
FAIL - When on the last row, navigating down should move the focus to first row and next column if the focusgroup flows horizontally.:
FAIL - When on the first column, navigating left should move the focus to last column and previous row if the focusgroup flows horizontally.:
FAIL - When on the first row, navigating up should move the focus to last row and previous column if the focusgroup flows horizontally.:
FAIL
- When on the last column, navigating right should move the focus to first column and next row if the focusgroup flows horizontally.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/moves-across-table-sections.html [wpt.fyi]
- Navigating down should move the focus to the next row even when that row is in another section.:
FAIL - Navigating up should move the focus to the previous row even when that row is in another section.:
FAIL
- Navigating down should move the focus to the next row even when that row is in another section.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/relayout-before-navigation.html [wpt.fyi]
- Since |item1| removes the middle row on directional input, the grid focusgroup should check for a relayout before navigating to the next row.:
FAIL
- Since |item1| removes the middle row on directional input, the grid focusgroup should check for a relayout before navigating to the next row.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/row-flow-only.html [wpt.fyi]
- When on the last column, navigating right should move the focus to first column and next row if the focusgroup flows horizontally.:
FAIL - When on the first column, navigating left should move the focus to last column and previous row if the focusgroup flows horizontally.:
FAIL
- When on the last column, navigating right should move the focus to first column and next row if the focusgroup flows horizontally.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/row-wrap-and-col-flow.html [wpt.fyi]
- When on the last column, navigating right should move the focus to first column if the focusgroup wraps horizontally.:
FAIL - When on the last row, navigating down should move the focus to first row and next column if the focusgroup flows vertically.:
FAIL - When on the first column, navigating left should move the focus to last column if the focusgroup wraps horizontally.:
FAIL - When on the first row, navigating up should move the focus to last row and previous column if the focusgroup flows horizontally.:
FAIL
- When on the last column, navigating right should move the focus to first column if the focusgroup wraps horizontally.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/row-wrap-only.html [wpt.fyi]
- When on the last column, navigating right should move the focus to first column if the focusgroup wraps horizontally.:
FAIL - When on the first column, navigating left should move the focus to last column if the focusgroup wraps horizontally.:
FAIL
- When on the last column, navigating right should move the focus to first column if the focusgroup wraps horizontally.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/rowspan.html [wpt.fyi]
- Navigating right should move the focus to the next column, dealing correctly with rowspans.:
FAIL - Navigating down should move the focus to the right cell on the next row, dealing correctly with rowspans.:
FAIL - Navigating left should move to the previous column, dealing correctly with the rowspans.:
FAIL - Navigating up should move the focus to the right cell on the previous row, dealing correctly with rowspans.:
FAIL
- Navigating right should move the focus to the next column, dealing correctly with rowspans.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/simple-case-with-non-focusable-cell-in-the-center.html [wpt.fyi]
- Navigating right should move the focus to the next column, skipping the non-focusable cell.:
FAIL - Navigating down should move the focus to the next row, skipping the non-focusable cell.:
FAIL - Navigating left should move to the previous column, skipping the non-focusable cell.:
FAIL - Navigating up should move the focus to the previous row, skipping the non-focusable cell.:
FAIL
- Navigating right should move the focus to the next column, skipping the non-focusable cell.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/simple-case.html [wpt.fyi]
- Navigating right should move the focus to the next column.:
FAIL - Navigating down should move the focus to the next row.:
FAIL - Navigating left should move to the previous column.:
FAIL - Navigating up should move the focus to the previous row.:
FAIL
- Navigating right should move the focus to the next column.:
- /html/interaction/focus/focusgroup/tentative/grid-navigation/wraps-in-both-axes.html [wpt.fyi]
- When on the last column, navigating right should move the focus to first column if the focusgroup wraps horizontally.:
FAIL - When on the last row, navigating down should move the focus to first row if the focusgroup wraps vertically.:
FAIL - When on the first column, navigating left should move the focus to last column if the focusgroup wraps horizontally.:
FAIL - When on the first row, navigating up should move the focus to last row if the focusgroup wraps vertically.:
FAIL
- When on the last column, navigating right should move the focus to first column if the focusgroup wraps horizontally.:
- /html/interaction/focus/focusgroup/tentative/home-end-keys.optional.html [wpt.fyi]
- Home moves focus to first item in toolbar:
FAIL - End moves focus to last item in toolbar:
FAIL - Home in tablist moves to first item:
FAIL - End in tablist moves to last item:
FAIL - Home in block-only menu moves to first item:
FAIL - End in block-only menu moves to last item:
FAIL - Home in nested focusgroup moves to first item of inner group:
FAIL - End in nested focusgroup moves to last item of inner group:
FAIL - Home goes to first item, not focusgroupstart item:
FAIL - End goes to last item, not focusgroupstart item:
FAIL - Home skips opted-out elements and reaches first item:
FAIL - End skips opted-out elements and reaches last item:
FAIL - Home from button navigates past key conflict element to first item:
FAIL - End from button navigates past key conflict element to last item:
FAIL
- Home moves focus to first item in toolbar:
- /html/interaction/focus/focusgroup/tentative/idl-reflection.html [wpt.fyi]
- focusGroup IDL attribute is a DOMTokenList:
FAIL - focusGroup.value on element without focusgroup content attribute is the empty string:
FAIL - focusGroup.value reflects the focusgroup content attribute value:
FAIL - focusGroup.contains() reflects individual tokens:
FAIL - Setting focusGroup via PutForwards writes the focusgroup content attribute:
FAIL - Setting focusGroup via PutForwards preserves the DOMTokenList object identity:
FAIL - Setting focusGroup.value writes the focusgroup content attribute:
FAIL - Setting focusGroup to empty string clears the content attribute value:
FAIL - focusGroup.add() appends a token and updates the content attribute:
FAIL - focusGroup.remove() removes a token and updates the content attribute:
FAIL - focusGroup.toggle() adds or removes a token:
FAIL - setAttribute('focusgroup', ...) updates the existing DOMTokenList object:
FAIL - focusGroup.supports() returns true for all standard tokens:
FAIL - focusGroup.supports() returns false for unrecognized tokens:
FAIL - focusGroupStart IDL attribute on an element without the focusgroupstart content attribute is false:
FAIL - focusGroupStart IDL attribute reflects presence of the focusgroupstart content attribute as true:
FAIL - Setting focusGroupStart IDL attribute to true adds the focusgroupstart content attribute:
FAIL - Setting focusGroupStart IDL attribute to false removes the focusgroupstart content attribute:
FAIL - focusGroup DOMTokenList and focusGroupStart are exposed on SVGElement via the HTMLOrSVGOrMathMLElement mixin:
FAIL - focusGroup DOMTokenList and focusGroupStart are exposed on MathMLElement via the HTMLOrSVGOrMathMLElement mixin:
FAIL
- focusGroup IDL attribute is a DOMTokenList:
- /html/interaction/focus/focusgroup/tentative/opt-out-barriers/complex-nested-opt-out.html [wpt.fyi]
- Outer focusgroup navigation skips opted-out subtree:
FAIL - Nested focusgroup inside opted-out subtree still works internally:
FAIL - Backward outer navigation skips opted-out subtree:
FAIL
- Outer focusgroup navigation skips opted-out subtree:
- /html/interaction/focus/focusgroup/tentative/opt-out-barriers/none-creates-barriers.html [wpt.fyi]
- Navigation should skip elements in opted-out focusgroup subtree:
FAIL - Backward navigation should skip elements in opted-out focusgroup subtree:
FAIL
- Navigation should skip elements in opted-out focusgroup subtree:
- /html/interaction/focus/focusgroup/tentative/opt-out-barriers/none-opt-out-direct-child.html [wpt.fyi]
- Directional navigation skips opted-out element:
FAIL
- Directional navigation skips opted-out element:
- /html/interaction/focus/focusgroup/tentative/reading-flow-navigation/explicit-visual-reordering.html [wpt.fyi]
- Focusgroup navigation should follow explicit visual reordering via CSS order property.:
FAIL
- Focusgroup navigation should follow explicit visual reordering via CSS order property.:
- /html/interaction/focus/focusgroup/tentative/reading-flow-navigation/fallback-to-dom-order.html [wpt.fyi]
- Focusgroup navigation should fall back to DOM order when no reading-flow is specified.:
FAIL
- Focusgroup navigation should fall back to DOM order when no reading-flow is specified.:
- /html/interaction/focus/focusgroup/tentative/reading-flow-navigation/flex-visual-order-basic.html [wpt.fyi]
- Focusgroup navigation should respect reading-flow: flex-visual order instead of DOM order.:
FAIL
- Focusgroup navigation should respect reading-flow: flex-visual order instead of DOM order.:
- /html/interaction/focus/focusgroup/tentative/reading-flow-navigation/nested-containers.html [wpt.fyi]
- Focusgroup navigation with nested reading flow containers should follow the visual order.:
FAIL
- Focusgroup navigation with nested reading flow containers should follow the visual order.:
- /html/interaction/focus/focusgroup/tentative/reading-flow-navigation/partial-reordering.html [wpt.fyi]
- Focusgroup navigation with multiple reading-flow containers should follow visual order from CSS reading-flow properties.:
FAIL
- Focusgroup navigation with multiple reading-flow containers should follow visual order from CSS reading-flow properties.:
- /html/interaction/focus/focusgroup/tentative/reading-flow-navigation/simple-mixed.html [wpt.fyi]
- Simple mixed reading flow test.:
FAIL
- Simple mixed reading flow test.:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/basic-tab-behavior.html [wpt.fyi]
- Tab enters focusgroup at first item in tree order and exits normally:
FAIL - Shift+Tab enters focusgroup at first item in tree order and exits normally:
FAIL - Directional input navigation continues to work normally within focusgroup:
FAIL
- Tab enters focusgroup at first item in tree order and exits normally:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-contenteditable.html [wpt.fyi]
- contenteditable: directional navigation TO element works:
FAIL
- contenteditable: directional navigation TO element works:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-multi-tab-stop.html [wpt.fyi]
- Tab escape from video element inside focusgroup goes to adjacent item:
FAIL - Shift+Tab escape from video element inside focusgroup goes to adjacent item:
FAIL - Tab escape from inside video shadow DOM controls reaches adjacent focusgroup item:
FAIL
- Tab escape from video element inside focusgroup goes to adjacent item:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-multiple-in-segment.html [wpt.fyi]
- Multiple native directional input handlers each block directional navigation independently:
FAIL
- Multiple native directional input handlers each block directional navigation independently:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-nested-focusgroup.html [wpt.fyi]
- Native directional input handler detection respects nested focusgroup's enabled axes:
FAIL - Directional navigation works in both outer and inner nested focusgroups:
FAIL
- Native directional input handler detection respects nested focusgroup's enabled axes:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-number.html [wpt.fyi]
- number input: directional navigation TO element works:
FAIL
- number input: directional navigation TO element works:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-radio.html [wpt.fyi]
- Directional input can navigate TO radio button (entry):
FAIL
- Directional input can navigate TO radio button (entry):
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-range.html [wpt.fyi]
- range input: directional navigation TO element works:
FAIL
- range input: directional navigation TO element works:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-scrollable-container.html [wpt.fyi]
- Horizontal-only scroll container blocks inline axis but allows block axis navigation:
FAIL - Vertical-only scroll container blocks block axis but allows inline axis navigation:
FAIL - Both-axis scroll container blocks all directional navigation:
FAIL
- Horizontal-only scroll container blocks inline axis but allows block axis navigation:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-select.html [wpt.fyi]
- select: directional navigation TO element works:
FAIL
- select: directional navigation TO element works:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-tab-escape.html [wpt.fyi]
- Directional input can navigate TO native directional input handler (entry):
FAIL
- Directional input can navigate TO native directional input handler (entry):
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-text.html [wpt.fyi]
- text input: directional navigation TO element works:
FAIL
- text input: directional navigation TO element works:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-textarea.html [wpt.fyi]
- textarea: directional navigation TO element works:
FAIL
- textarea: directional navigation TO element works:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-with-explicit-optout.html [wpt.fyi]
- Explicit focusgroup=none excludes element from directional navigation:
FAIL
- Explicit focusgroup=none excludes element from directional navigation:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/directional-input-handler-with-priority.html [wpt.fyi]
- Tab entry respects focusgroupstart on native directional input handler:
FAIL
- Tab entry respects focusgroupstart on native directional input handler:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/dynamic-changes.html [wpt.fyi]
- Dynamic focusgroupstart changes affect entry element selection:
FAIL
- Dynamic focusgroupstart changes affect entry element selection:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/focusgroup-segments.html [wpt.fyi]
- Tab navigation through focusgroup segments - forward direction:
FAIL - Shift+Tab navigation through focusgroup segments - backward direction:
FAIL - Directional input navigation treats opted-out elements as if they don't exist:
FAIL - Complex nested opt-out creates proper focusgroup segments:
FAIL
- Tab navigation through focusgroup segments - forward direction:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/focusgroupstart-shadow-tabindex.html [wpt.fyi]
- Tab into focusgroup with focusgroupstart inside tabindex=-1 shadow host:
FAIL - Shift+Tab into focusgroup with focusgroupstart inside tabindex=-1 shadow host:
FAIL - Tab through focusgroup enters at slotted focusgroupstart and exits:
FAIL - Memory item inside tabindex=-1 shadow host is honored on re-entry:
FAIL
- Tab into focusgroup with focusgroupstart inside tabindex=-1 shadow host:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/guaranteed-tab-stop-priority.html [wpt.fyi]
- Element with focusgroupstart is selected as entry element:
FAIL - focusgroupstart works with natively focusable elements:
FAIL - Reverse navigation uses same priority algorithm:
FAIL
- Element with focusgroupstart is selected as entry element:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/memory-behavior.html [wpt.fyi]
- Focusgroup with memory remembers last focused item on re-entry:
FAIL - Focusgroup with no-memory does not remember last focused item:
FAIL - Memory behavior with focusgroup segments remembers per-segment:
FAIL - Memory works correctly for first focusgroup segment:
FAIL - Last focused item is updated by directional navigation:
FAIL
- Focusgroup with memory remembers last focused item on re-entry:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/nested-focusgroups.html [wpt.fyi]
- Forward Tab navigation through nested focusgroups:
FAIL - Reverse Shift+Tab navigation through nested focusgroups:
FAIL
- Forward Tab navigation through nested focusgroups:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/tabindex-minus-one-home-end.optional.html [wpt.fyi]
- Home from tabindex=-1 navigates to first item in focusgroup:
FAIL - End from tabindex=-1 navigates to last item in focusgroup:
FAIL
- Home from tabindex=-1 navigates to first item in focusgroup:
- /html/interaction/focus/focusgroup/tentative/sequential-navigation/tabindex-minus-one-tab-escape.html [wpt.fyi]
- Tab from tabindex=-1 exits focusgroup when focusgroupstart is present:
FAIL - Shift+Tab from tabindex=-1 exits focusgroup when focusgroupstart is present:
FAIL - Tab from tabindex=-1 exits focusgroup without focusgroupstart:
FAIL - Shift+Tab from tabindex=-1 exits focusgroup without focusgroupstart:
FAIL - Tab from tabindex=-1 exits only the inner nested focusgroup:
FAIL - Tab from tabindex=-1 skips remaining segment items and enters opted-out barrier:
FAIL
- Tab from tabindex=-1 exits focusgroup when focusgroupstart is present:
- /html/interaction/focus/focusgroup/tentative/shadow/shadow-items-basic.html [wpt.fyi]
- Shadow host focusgroup scopes shadow root items for navigation:
FAIL
- Shadow host focusgroup scopes shadow root items for navigation:
- /html/interaction/focus/focusgroup/tentative/shadow/shadow-nested-scope.html [wpt.fyi]
- Nested shadow focusgroup is isolated from outer scope navigation:
FAIL
- Nested shadow focusgroup is isolated from outer scope navigation:
- /html/interaction/focus/focusgroup/tentative/top-layer-dialog-excluded.html [wpt.fyi]
- Modal dialog's own focusgroup navigates in both directions while in the top layer:
FAIL
- Modal dialog's own focusgroup navigates in both directions while in the top layer:
- /html/interaction/focus/focusgroup/tentative/top-layer-dynamic-exclusion.html [wpt.fyi]
- Top-layer exclusion is dynamic: show and hide cycles:
FAIL - Wrapping navigation skips shown popover subtree:
FAIL - Home and End keys skip shown popover subtree:
FAIL - Block-axis navigation skips shown popover subtree:
FAIL - Arrow navigation skips multiple simultaneously shown popovers:
FAIL
- Top-layer exclusion is dynamic: show and hide cycles:
- /html/interaction/focus/focusgroup/tentative/top-layer-inner-focusgroup.html [wpt.fyi]
- Popover with own focusgroup is excluded from ancestor arrow navigation:
FAIL - Inner focusgroup on a shown popover operates independently:
FAIL - Focusable top-layer element with own focusgroup is not an outer entry:
FAIL
- Popover with own focusgroup is excluded from ancestor arrow navigation:
- /html/interaction/focus/focusgroup/tentative/top-layer-popover-excluded.html [wpt.fyi]
- Arrow navigation skips a shown popover in ancestor focusgroup:
FAIL - Popover as the first focusgroup child does not break Home/arrow navigation:
FAIL - Open popover splits an ancestor focusgroup into two segments:
FAIL - Popover sibling of focusgroup does not interfere with arrow navigation:
FAIL - focusgroup=none popover inside focusgroup: arrows skip, Tab reaches:
FAIL
- Arrow navigation skips a shown popover in ancestor focusgroup:
- /html/interaction/focus/focusgroup/tentative/top-layer-popover-invoker.html [wpt.fyi]
- Arrow keys skip a popover opened by a focusgroup-item invoker:
FAIL - Tab from a focusgroup-item invoker enters the open popover:
FAIL
- Arrow keys skip a popover opened by a focusgroup-item invoker:
- /html/interaction/focus/focusgroup/tentative/untraversable-tabindex-minus-one.html [wpt.fyi]
- Elements with tabindex=-1 participate in focusgroup navigation when focused, but are skipped relative to other items.:
FAIL - Navigation respects bounds when edges are tabindex=-1.:
FAIL - Wrapping logic skips items with tabindex=-1.:
FAIL
- Elements with tabindex=-1 participate in focusgroup navigation when focused, but are skipped relative to other items.:
- /html/interaction/focus/setSequentialFocusStartingPoint.tentative.html [wpt.fyi]
- document.setSequentialFocusStartingPoint should set the sequential focus starting point on any element.:
FAIL
- document.setSequentialFocusStartingPoint should set the sequential focus starting point on any element.:
- /html/interaction/focus/the-autofocus-attribute/update-the-rendering.html [wpt.fyi]
- "Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt]
- "Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks:
- /html/interaction/focus/anchor-element-focus-ring.html [wpt.fyi]:
FAIL[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt],PASS[Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],SKIP[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview]
Tests Disabled in Gecko Infrastructure
- /html/interaction/focus/processing-model/legend-focusable.html [wpt.fyi]:
SKIP - /html/interaction/focus/document-level-focus-apis/document-has-system-focus.html [wpt.fyi]:
OK[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],SKIP[Gecko-linux2404-64-debug] - /html/interaction/focus/anchor-element-focus-ring.html [wpt.fyi]:
FAIL[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt],PASS[Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],SKIP[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview]
Description
•