Skip to content

When clicking on a button document.activeElement fails in some browsers #389

Open
@afercia

Description

@afercia

Summary:

While this is not a react-modal bug, I thought to report it to share the issue. It's more about different implementations of document.activeElement across browsers/platforms related to buttons.

Everything works as expected when activating a button using the keyboard. However, when clicking with the mouse/trackpad on a button, some browsers return the <body> as document.activeElement.

While it's not a bug and keyboard accessibility is safe, it would be great try to find a way to have the full functionality working also when using a pointing device.

Steps to reproduce:

  1. on macOS, use Firefox or Safari
  2. use the Global Overrides demo, because it uses two buttons and helps making clear what's going on
  3. click with the mouse/trackpad on the second button
  4. at this point document.activeElement returns the body
  5. close the modal pressing Escape
  6. notice focus is not moved back to the second button (actually it's on the iframe <body>)
  7. press Tab to double check where focus is, you will see the first button gets focused

Additional notes:

More details on MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus

Data reported there seems still accurate to me, see the summary table:

screen shot 2017-05-26 at 15 41 07

Note: I wouldn't know how to solve this in a clean way 🙂 but again, it's more to share and be aware of the issue.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions