Skip to content

fix(modal): exclude document.body when determining return focus element #3228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 2, 2019

Conversation

tmorehouse
Copy link
Member

Describe the PR

Focusing the document.body can cause un-watned scrolls of the page on some browsers.

When auto-detecting the return focus element, this PR excludes selecting/focusing document.body.

When an element that has focus and then is hidden, browsers will blur the element an set document.body as the active element.

PR checklist

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Enhancement
  • ARIA accessibility
  • Documentation update
  • Other (please describe)

Does this PR introduce a breaking change? (check one)

  • No
  • Yes (please describe)

The PR fulfills these requirements:

  • It's submitted to the dev branch, not the master branch
  • When resolving a specific issue, it's referenced in the PR's title (i.e. [...] (fixes #xxx[,#xxx]), where "xxx" is the issue number)
  • It should address only one issue or feature. If adding multiple features or fixing a bug and adding a new feature, break them into separate PRs if at all possible.
  • The title should follow the Conventional Commits naming convention (i.e. fix(alert): not alerting during SSR render, docs(badge): update pill examples, fix typos, chore: fix typo in README, etc). This is very important, as the CHANGELOG is generated from these messages.

If new features/enhancement/fixes are added or changed:

  • Includes documentation updates (including updating the component's package.json for slot and event changes)
  • New/updated tests are included and passing (if required)
  • Existing test suites are passing
  • The changes have not impacted the functionality of other components or directives
  • ARIA Accessibility has been taken into consideration (Does it affect screen reader users or keyboard only users? Clickable items should be in the tab index, etc.)

If adding a new feature, or changing the functionality of an existing feature, the PR's
description above includes:

  • A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

tmorehouse added 3 commits May 2, 2019 16:33
Focusing the document.body can cause un-watned scrolls of the page on some browsers.

When auto-detecting the return focus element, this PR excludes selecting document.body.

When an element that has focus and then is hidden, browsers will blur the element an set document.body as the active element.
@codecov
Copy link

codecov bot commented May 2, 2019

Codecov Report

Merging #3228 into dev will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##              dev    #3228      +/-   ##
==========================================
+ Coverage   99.16%   99.16%   +<.01%     
==========================================
  Files         214      214              
  Lines        3957     3961       +4     
  Branches     1160     1161       +1     
==========================================
+ Hits         3924     3928       +4     
  Misses         26       26              
  Partials        7        7
Impacted Files Coverage Δ
src/components/modal/modal.js 99.53% <100%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1bfdde6...cca88e4. Read the comment docs.

@tmorehouse tmorehouse merged commit 092ab2d into dev May 2, 2019
@tmorehouse tmorehouse deleted the tmorehouse/modal-focus branch May 2, 2019 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant