You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Move the close button after the dialog content so we don't have to skip it when querying for the first interactive element. This should also be less confusing for screen reader users who might not realize that it’s at the beginning of the content when it has been skipped.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Browsers (and the dialog-polyfill) already handle focusing the first interactive element inside a
dialog
element when opened.Approach and changes
initialFocusRef
prop with the nativeautofocus
attribute. React (purposefully 🙄) breaks theautoFocus
property (see autofocus attr not included in button element when rendered facebook/react#11851 (comment)), so we have to work around that by using the lowercase attribute name with a string value to force React to serialize it to the DOM (see Bug: autoFocus broken inside <dialog /> facebook/react#23301). This produces a console warning that can be safely ignored.Definition of done