diff --git a/docs/src/pages/demos/dialogs/AlertDialog.js b/docs/src/pages/demos/dialogs/AlertDialog.js index 537aac9a430bdd..5f6bea1b5ddd5b 100644 --- a/docs/src/pages/demos/dialogs/AlertDialog.js +++ b/docs/src/pages/demos/dialogs/AlertDialog.js @@ -38,7 +38,7 @@ export default class AlertDialog extends React.Component { - diff --git a/docs/src/pages/demos/dialogs/ConfirmationDialog.js b/docs/src/pages/demos/dialogs/ConfirmationDialog.js index 4a2fb7b1c88be2..122a46ed4b5187 100644 --- a/docs/src/pages/demos/dialogs/ConfirmationDialog.js +++ b/docs/src/pages/demos/dialogs/ConfirmationDialog.js @@ -75,7 +75,7 @@ class ConfirmationDialog extends React.Component { Phone Ringtone { + ref={node => { this.radioGroup = node; }} aria-label="ringtone" diff --git a/src/ButtonBase/ButtonBase.js b/src/ButtonBase/ButtonBase.js index 81f9ee193c6b5b..19d5c82d4d418c 100644 --- a/src/ButtonBase/ButtonBase.js +++ b/src/ButtonBase/ButtonBase.js @@ -270,12 +270,15 @@ class ButtonBase extends React.Component { return; } - if (this.button) { - event.persist(); - const keyboardFocusCallback = this.onKeyboardFocusHandler.bind(this, event); - detectKeyboardFocus(this, this.button, keyboardFocusCallback); + // Fix for https://github.com/facebook/react/issues/7769 + if (!this.button) { + this.button = event.currentTarget; } + event.persist(); + const keyboardFocusCallback = this.onKeyboardFocusHandler.bind(this, event); + detectKeyboardFocus(this, this.button, keyboardFocusCallback); + if (this.props.onFocus) { this.props.onFocus(event); }