| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/html/interaction/focus/the-autofocus-attribute/resources/utils.js"></script> |
| <body> |
| <dialog> |
| <input> |
| <input autofocus> |
| </dialog> |
| <script> |
| // https://github.com/whatwg/html/issues/4788 |
| promise_test(async () => { |
| const dialog = document.querySelector('dialog'); |
| dialog.show(); |
| assert_equals(document.activeElement, dialog.querySelector('[autofocus]'), |
| 'dialog.show() should set focus on a descendant element with an ' + |
| 'autofocus attribute.'); |
| document.activeElement.blur(); |
| await waitUntilStableAutofocusState(); |
| assert_equals(document.activeElement, document.body, |
| 'Non-dialog autofocus processing should be skipped.'); |
| }, 'An autofocus element in a dialog element should not try to get focus twice.'); |
| </script> |
| </body> |