-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1799251 [wpt PR 36831] - Implement dialog initial focus proposal,…
… a=testonly Automatic update from web-platform-tests Implement dialog initial focus proposal This has been discussed here: whatwg/html#4184 whatwg/html#8199 The gist of the changes are: 1. Make the dialog focusing steps look at keyboard focusable elements instead of any focusable element. 2. Make the dialog element itself get focus if it has the autofocus attribute set. 3. Make the dialog element itself get focus as a fallback instead of focus being "reset" to the body element. This patch also adds "outline:none" to several WPTs because this patch causes the dialog element to become initially focused in some cases and get a focus ring. I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/CEL3wWHrTAQ Fixed: 1193482 Change-Id: I1fee5981f72039a4467cbb35b2317832dd31bbea Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3984630 Commit-Queue: Joey Arhar <jarhar@chromium.org> Reviewed-by: Mason Freed <masonf@chromium.org> Cr-Commit-Position: refs/heads/main@{#1100024} -- wpt-commits: 95f9b15d9aad3354f440e4e4cced5ccc405b0069 wpt-pr: 36831
- Loading branch information
1 parent
50544db
commit 1067e36
Showing
40 changed files
with
174 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,6 +22,7 @@ | |
height: 100px; | ||
background: lime; | ||
anchor-scroll: --a; | ||
outline: none; | ||
} | ||
|
||
body { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,6 +22,7 @@ | |
height: 100px; | ||
background: lime; | ||
anchor-scroll: --a; | ||
outline: none; | ||
} | ||
|
||
body { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,6 +22,7 @@ | |
height: 100px; | ||
background: lime; | ||
anchor-scroll: --a; | ||
outline: none; | ||
} | ||
|
||
body { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,6 +22,7 @@ | |
height: 100px; | ||
background: lime; | ||
anchor-scroll: --a; | ||
outline: none; | ||
} | ||
|
||
body { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,6 +35,7 @@ | |
border: 0; | ||
padding: 0; | ||
inset: auto; | ||
outline: none; | ||
} | ||
|
||
dialog::backdrop { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,6 +34,7 @@ | |
margin: 0; | ||
border: 0; | ||
padding: 0; | ||
outline: none; | ||
} | ||
|
||
dialog::backdrop { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,8 @@ | |
|
||
view-transition-name: dialog; | ||
contain: layout; | ||
|
||
outline: none; | ||
} | ||
|
||
#target::backdrop { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,8 @@ | |
|
||
view-transition-name: dialog; | ||
contain: layout; | ||
|
||
outline: none; | ||
} | ||
|
||
#target::backdrop { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,7 @@ | |
padding: 0px; | ||
border: none; | ||
margin: 0px; | ||
outline: none; | ||
} | ||
|
||
#bottom::backdrop { | ||
|
58 changes: 58 additions & 0 deletions
58
.../tests/html/semantics/interactive-elements/the-dialog-element/child-sequential-focus.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
<!DOCTYPE html> | ||
<link rel=author href="mailto:jarhar@chromium.org"> | ||
<link rel=help href="https://github.com/whatwg/html/pull/8199"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
|
||
<dialog autofocus id=autofocusdialog data-description="dialog element with autofocus should get initial focus."> | ||
<button>focusable button</button> | ||
<button autofocus class=target>autofocusable button</button> | ||
</dialog> | ||
|
||
<dialog id=keyboardfocusdialog data-description="Only keyboard-focusable elements should get dialog initial focus."> | ||
<button tabindex="-1">mouse focusable button</button> | ||
<button class=target>keyboard focusable button</button> | ||
</dialog> | ||
|
||
<dialog id=autofocuswithoutkeyboarddialog data-description="Autofocus takes precedence over keyboard-focusable requirement."> | ||
<button>keyboard focusable button</button> | ||
<button tabindex="-1" autofocus class=target>mouse focusable autofocus button</button> | ||
</dialog> | ||
|
||
<dialog id=subtree data-description="Only keyboard-focusable elements should get dialog initial focus including in subtrees."> | ||
<div> | ||
<button tabindex="-1">mouse focusable button</button> | ||
<button class=target>keyboard focusable button</button> | ||
</div> | ||
</dialog> | ||
|
||
<dialog id=nestedbuttons data-description="Only keyboard-focusable elements should get dialog initial focus including in nested buttons."> | ||
<button tabindex="-1"> | ||
<span>mouse focusable button</span> | ||
<button tabindex="-1">nested mouse focusable button</button> | ||
</button> | ||
<button class=target>keyboard focusable button</button> | ||
</dialog> | ||
|
||
<script> | ||
document.querySelectorAll('dialog').forEach(dialog => { | ||
test(t => { | ||
const target = dialog.querySelector('.target'); | ||
t.add_cleanup | ||
t.add_cleanup(() => { | ||
if (dialog.open) | ||
dialog.close(); | ||
}); | ||
|
||
dialog.showModal(); | ||
assert_equals(document.activeElement, | ||
dialog.hasAttribute('autofocus') ? dialog : target, | ||
'showModal: the target element did not receive initial focus.'); | ||
dialog.close(); | ||
|
||
dialog.show(); | ||
assert_equals(document.activeElement, target, 'show: the target element did not receive initial focus.'); | ||
dialog.close(); | ||
}, dialog.dataset.description); | ||
}); | ||
</script> |
Oops, something went wrong.